Bối cảnh: Tôi có một thiết bị Android dính USB (ví dụ RikoMagic) mà tôi chủ yếu chạy ở chế độ "không đầu". Trong số những thứ khác, tôi đã tìm ra cách tắt nó thông qua sự kết hợp của adb và lệnh "am" nội bộ:
adb shell am start -n android/com.android.server.ShutdownActivity
Bây giờ tôi đang cố gắng tìm ra cách bật và tắt hỗ trợ lưu trữ dung lượng lớn USB. Tôi đã có được khi cửa sổ hoạt động lưu trữ USB bật lên thông qua lệnh sau:
adb shell am start -n com.android.systemui/.usb.UsbStorageActivity
Thật không may, tôi đã không thể tìm ra cách gửi "ý định" tương đương đến thực sự "không đếm được" hoặc "không chia sẻ" âm lượng được chia sẻ (hoặc "gắn kết" hoặc "chia sẻ" cho vấn đề đó). Lệnh sau không làm gì cả:
adb shell am start -n com.android.systemui/.usb.UsbStorageActivity -a android.intent.action.MEDIA_UNSHARED file:///mnt/sdcard
Tôi đang làm gì sai? Câu thần chú để gắn kết / ngắt kết nối bộ nhớ trong của thiết bị Android là gì?
Lưu ý 1: Tôi biết có lệnh "mount" / "umount" rõ ràng của Linux. Tuy nhiên, chỉ cần gắn hoặc ngắt âm lượng sẽ không kích hoạt các chức năng hệ thống quan trọng, ví dụ, khởi động lại hoặc dừng các ứng dụng đã được chuyển sang thẻ SD. Dù sao thì "umount" có thể sẽ thất bại khi một ứng dụng trong thẻ SD vẫn hoạt động.
Lưu ý 2: Rõ ràng có lệnh "setprop" có thể bật / tắt hỗ trợ bộ lưu trữ lớn USB UNTIL cho lần khởi động lại tiếp theo. Một lần nữa, cách tiếp cận tất cả hoặc không có gì này không phải là điều tôi đang tìm kiếm mà là khả năng bật và tắt bộ lưu trữ dung lượng lớn USB trong một phiên duy nhất, như giao diện cảm ứng có thể thực hiện.
adb shell setprop sys.usb.config mass_storage