Hintergrund: Ich habe ein USB-Stick-Android-Gerät (zB RikoMagic), das ich meistens im "headless" -Modus laufe. Unter anderem habe ich bereits herausgefunden, wie man es über eine Kombination aus adb und dem internen "am" -Befehl herunterfährt:
adb shell am start -n android/com.android.server.ShutdownActivity
Ich versuche jetzt herauszufinden, wie die Unterstützung für USB-Massenspeicher ein- und ausgeschaltet werden kann. Ich habe das Fenster mit den USB-Speicheraktivitäten über den folgenden Befehl geöffnet:
adb shell am start -n com.android.systemui/.usb.UsbStorageActivity
Leider konnte ich nicht herausfinden, wie ich die äquivalente "Absicht" zum tatsächlichen "Aufheben" oder "Aufheben" der Freigabe des freigegebenen Volumes (oder zum "Aufheben" oder "Freigeben" für diese Angelegenheit) senden kann. Der folgende Befehl führt nichts aus:
adb shell am start -n com.android.systemui/.usb.UsbStorageActivity -a android.intent.action.MEDIA_UNSHARED file:///mnt/sdcard
Was mache ich falsch? Was ist die magische Beschwörung, um den internen Speicher eines Android-Geräts zu aktivieren / deaktivieren?
Anmerkung 1: Ich weiß, dass es den offensichtlichen Linux-Befehl "mount" / "umount" gibt. Das einfache Aktivieren oder Deaktivieren des Volumes löst jedoch keine Systemfunktionen aus, die beispielsweise für den Neustart oder das Stoppen von Apps erforderlich sind, die auf die SD-Karte verschoben wurden. Ein "umount" wird wahrscheinlich trotzdem fehlschlagen, wenn eine App auf der SD-Karte noch aktiv ist.
Hinweis 2: Anscheinend gibt es einen "setprop" -Befehl, der die USB-Massenspeicherunterstützung aktivieren / deaktivieren kann, BIS zum nächsten Neustart. Auch hier ist dieser Alles-oder-Nichts-Ansatz nicht das, wonach ich suche, sondern die Möglichkeit, den USB-Massenspeicher während einer einzelnen Sitzung ein- und auszuschalten, wie dies über die Touch-Oberfläche möglich ist.
adb shell setprop sys.usb.config mass_storage