背景:USBスティックAndroidデバイス(RikoMagicなど)があり、ほとんどが「ヘッドレス」モードで実行されています。とりわけ、adbと内部の "am"コマンドを組み合わせてシャットダウンする方法をすでに理解しています。
adb shell am start -n android/com.android.server.ShutdownActivity
USB大容量記憶装置のサポートをオンまたはオフにする方法を見つけようとしています。次のコマンドを使用して、USBストレージアクティビティウィンドウをポップアップ表示します。
adb shell am start -n com.android.systemui/.usb.UsbStorageActivity
残念ながら、共有ボリュームを実際に「マウント解除」または「共有解除」する(または、「マウント」または「共有」する)ための同等の「意図」を送信する方法を理解できませんでした。次のコマンドは何もしません:
adb shell am start -n com.android.systemui/.usb.UsbStorageActivity -a android.intent.action.MEDIA_UNSHARED file:///mnt/sdcard
何が間違っていますか?Androidデバイスの内部ストレージをマウント/アンマウントする魔法の呪文とは何ですか?
注1:明らかなLinuxの「mount」/「umount」コマンドがあることは知っています。ただし、単にボリュームをマウントまたはアンマウントしても、SDカードに移動されたアプリを再起動または停止するために不可欠なシステム機能はトリガーされません。とにかく、SDカード内のアプリがまだアクティブな場合、「マウント」はおそらく失敗します。
注2:次の再起動までUSBマスストレージサポートを有効/無効にできる「setprop」コマンドがあるようです。繰り返しになりますが、このオールオアナッシングアプローチは、私が探しているものではなく、タッチインターフェースで実行できるように、単一セッション中にUSBマスストレージのオンとオフを切り替える機能です。
adb shell setprop sys.usb.config mass_storage