10 Stimmen

Android: Wie erkennt man die Sendung "USB-Speicher einschalten"?

Ich versuche, die USB-Speicher einschalten mit BroadcastReceiver, obwohl ich in der Lage bin, den angeschlossenen USB mit Android.intent.action.UMS_CONNECTED Aktion
y
getrennt durch Android.intent.action.UMS_DISCONNECTED Aktion.

Wie kann ich die USB-Datenträger ?

3voto

giZm0 Punkte 1451

Im Folgenden wird gezeigt, wie ich prüfe, ob die Speicherkarte gemountet/unmounted ist. Sie können es ändern, um zu prüfen, ob sie entfernt/eingelegt ist. Ich tue dies, indem ich einen BroadcastReceiver registriere, um die "mount events" zu erhalten und dann zu prüfen, in welchem Zustand sich die Speicherkarte befindet. Wenn sie nicht eingehängt ist und auch während der Überprüfung nicht eingehängt wird (der Zustand, in dem die Karte wieder eingehängt wird), ist sie nicht eingehängt oder die Karte wurde entfernt.

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() {}
}

Und in 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>

Es gibt mehrere verschiedene Zustände zur Kasse bitten wenn es noch andere Angaben gibt, wie. entfernt

0voto

l.luque Punkte 15

Ich denke, dass Android.Intent.action.ACTION_MEDIA_EJECT gesendet wird, wenn der Benutzer den USB-Speicher in Gebrauch nimmt und ACTION_MEDIA_MOUNTED, wenn er ausgeschaltet wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X