배경 : USB 헤드 안드로이드 기기 (예 : 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 : 다음 번에 재부팅 할 때까지 USB 대용량 저장소 지원을 활성화 / 비활성화 할 수있는 "setprop"명령이 있습니다. 다시 말하지만,이 모든 접근 방법은 내가 찾고있는 것이 아니라 터치 인터페이스로 수행 할 수있는 것처럼 단일 세션 동안 USB 대용량 저장 장치를 켜고 끄는 기능입니다.
adb shell setprop sys.usb.config mass_storage