背景:我有一个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卡中的应用仍处于活动状态时,“ umount”可能仍然会失败。
注意2:显然有一个“ setprop”命令可以启用/禁用USB大容量存储支持,直到下次重启。同样,这种全有或全无的方法不是我要寻找的,而是能够在单个会话中打开和关闭USB大容量存储的功能,这可以通过触摸界面完成。
adb shell setprop sys.usb.config mass_storage