Как программно отключить USB-накопитель в Android? - PullRequest
1 голос
/ 14 сентября 2011

Я хочу включить / выключить USB-накопитель в Android.

Я попробовал приведенный ниже код.Это не работает.Может ли кто-нибудь помочь мне в этом?

Чтобы отключить запоминающее устройство, я использовал это:

Settings.Secure.putInt(getcontentResolver(),Settings.Secure_MASS_STORAGE_ENABLED,0)

Чтобы включить запоминающее устройство, я использовал это:

Settings.Secure.putInt(getcontentResolver(),Settings.Secure_MASS_STORAGE_ENABLED,1)

Код выше не работает, хотя.Мне нужно передать какое-либо намерение для этого?

1 Ответ

2 голосов
/ 14 апреля 2012

Во-первых, вы не можете изменить Settings.Secure.MASS_STORAGE_ENABLED, даже если вы заявили WRITE_SETTINGS и WRITE_SECURE_SETTINGS в AndroidManifest.xml, поскольку Settings.Secure.* можно изменять только приложениями в system/app, конечно, операция чтения не ограничено.

Во-вторых, я искал весь исходный код (как Gingerbread, так и ICS) и обнаружил, что Settings.Secure.MASS_STORAGE_ENABLED в настоящее время не используется, я запутался, поскольку Settings.Secure.ADB_ENABLED используется. пожалуйста гугл скажи почему? будет реализован в следующем выпуске?

В-третьих, вы можете отключить USB-накопитель, позвонив по телефону:

MountService.setUsbMassStorageEnabled(false);

или

StorageManager.disableUsbMassStorage();

но, к сожалению, оба эти API не являются общедоступными?!

...