Arka plan: Çoğunlukla "başsız" modda çalıştırdığım bir USB stick Android cihazım var (örneğin RikoMagic). Diğer şeylerin yanı sıra, bir adb ve dahili "am" komutu kombinasyonu ile nasıl kapatılacağını zaten anladım:
adb shell am start -n android/com.android.server.ShutdownActivity
Şimdi USB yığın depolama desteğini nasıl açıp kapatacağımı anlamaya çalışıyorum. USB depolama etkinliği penceresinin aşağıdaki komutla açılmasını sağladım:
adb shell am start -n com.android.systemui/.usb.UsbStorageActivity
Ne yazık ki, eşdeğer "amacı", paylaşılan birimi "ayırmak" veya "çıkarmak" için nasıl gönderemedim (veya bu konu için "bağla" veya "paylaş"). Aşağıdaki komut hiçbir şey yapmaz:
adb shell am start -n com.android.systemui/.usb.UsbStorageActivity -a android.intent.action.MEDIA_UNSHARED file:///mnt/sdcard
Neyi yanlış yapıyorum? Bir Android cihazın dahili depolamasını monte etmek / bağlantısını kesmek için sihirli büyü nedir?
Not 1: Bilinen Linux "mount" / "umount" komutunun olduğunu biliyorum. Ancak, birimin bağlanması veya çıkarılması, örneğin SD karta taşınan uygulamaları yeniden başlatmak veya durdurmak için hayati önem taşıyan sistem işlevlerini tetiklemez. Bir "umount", SD karttaki bir uygulama hala etkin olduğunda yine de başarısız olur.
Not 2: Görünüşe göre bir sonraki yeniden başlatmaya kadar USB yığın depolama desteğini etkinleştirebilen / devre dışı bırakabilen bir "setprop" komutu var. Yine, bu ya hep ya hiç yaklaşımı aradığım şey değil, dokunmatik arayüz tarafından yapılabileceği gibi, tek bir oturum sırasında USB yığın depolama alanını açıp kapatabilme yeteneği.
adb shell setprop sys.usb.config mass_storage