Android: Как определить трансляцию «Включите USB-накопитель»? - PullRequest
10 голосов
/ 09 января 2012

Я пытаюсь определить Включить USB-накопитель с помощью BroadcastReceiver, хотя я могу определить USB-соединение, используя android.intent.action.UMS_CONNECTED action
и
отключено с помощью android.intent.action.UMS_DISCONNECTED action.


Как я могу обнаружить USB-накопитель ?

Ответы [ 2 ]

3 голосов
/ 18 января 2012

Ниже показано, как проверить, установлена ​​ли / отключена карта памяти.Вы можете изменить его, чтобы проверить, удален / вставлен.Я делаю это, регистрируя BroadcastReceiver для получения «событий монтирования», затем проверяю, в каком состоянии находится карта памяти. Если она не смонтирована и не находится во время проверки (состояние во время повторного монтирования карты), она размонтируется иликарта была удалена.

public class MemCardReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
            onMemcardMounted();
        }
        else if (!Environment.getExternalStorageState().equals(Environment.MEDIA_CHECKING)){
            onMemorycardUnMounted();
        }
    }

    private void onMemorycardUnMounted() {}

    private void onMemcardMounted() {}
}

И в ManifestFile

<receiver android:enabled="true" android:exported="true" android:name="the.name"> 
        <intent-filter> 
            <action android:name="android.intent.action.MEDIA_MOUNTED" /> 
            <action android:name="android.intent.action.MEDIA_UNMOUNTED" />
            <data android:scheme="file" /> 
        </intent-filter> 
    </receiver>

Есть несколько различных состояний проверить это , если есть какие-либо другие заявленные как.удален

0 голосов
/ 10 января 2012

Я думаю, что android.Intent.action.ACTION_MEDIA_EJECT транслируется, когда пользователь использует USB-накопитель, и ACTION_MEDIA_MOUNTED, когда он выключен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...