2017-02-06 2 views
0

Ich benutze Panasonic Tablet-Gerät, das über USB-Port verfügt, die jeden USB-Stick direkt an Tablet anschließen können.Wie zu erkennen, dass mein Tablet mit USB verbunden ist und USB kann lesen/schreiben

Meine Anwendung muss die Daten lesen und Daten auf USB schreiben können.

Manchmal Ereignis, wenn USB angeschlossen ist, Schreiben auf USB ist Archivierung wegen loser Verbindung oder nicht richtig montiert oder USB reagiert nicht.

Also bevor ich etwas auf USB schreiben möchte ich überprüfen, ob USB in einem Zustand ist, Daten zu schreiben oder nicht? und ich möchte sogar wissen, ist mein Gerät mit USB verbunden oder nicht zu jedem Zeitpunkt (lassen Sie uns beim Klicken auf "Upload").

+0

Implementieren Sie einen Rundfunkempfänger für 'Intent.ACTION_MEDIA_MOUNTED' und' Intent.ACTION_MEDIA_REMOVED'. In der 'onReceive()' können Sie eine uri zu einem 'File' Pfad für den USB-Stick erhalten. – greenapps

+0

Aber Sie können es viel einfacher machen. Zeigen Sie einfach die bis zu drei Elemente an, die von 'getExternalFilesDirs()' an den Benutzer zurückgegeben werden, und lassen Sie den Benutzer einen auswählen. Der dritte Punkt ist der USB-Stick, wenn der zweite eine SD-Karte ist. – greenapps

+0

Nachdem Sie gesagt haben, dass Sie meist nur in der Lage sein werden, in appspezifische Verzeichnisse auf dem USB-Stick zu schreiben. Wenn Sie überall schreiben wollen, müssen Sie das 'Storage Access Framework' verwenden und den Benutzer die Anweisung' Intent.ACTION_OPEN_DOCUMENT_TREE' oder dergleichen wählen lassen. – greenapps

Antwort

1

können Sie Broadcast-Empfänger für diese registrieren.

IntentFilter filter = new IntentFilter(); 
filter.addAction("android.hardware.usb.action.USB_STATE"); 

Empfänger für diesen

public class USBReceiver extends BroadcastReceiver { 
    public void onReceive(Context context, Intent intent) { 
     if (intent.getExtras().getBoolean("connected")) { 
      //if connected you can read/write data to file. 
     } 
    } 
} 
+0

Könnten Sie bitte vorschlagen in Aktivität Schaltfläche klicken? .. sagen wir, ich möchte den Status der verbundenen oder angehängten Status überprüfen, wenn ich auf "Export" klicken. Meine Anforderung ist, wenn Benutzer auf Export klicken, die ich unten tun sollte. * Wenn der USB nicht angeschlossen ist, muss ich die Meldung "USB not connected" anzeigen * wenn USB nicht in einem Zustand zum Lesen/Schreiben ist - obwohl es verbunden ist, muss ich die Meldung "USB ist nicht im richtigen Zustand "oder eine solche Nachricht * Wenn es verbunden ist und in einem Zustand zu schreiben, dann fahren Sie mit dem Schreiben Datum auf USB –

+0

' Sie können intenstfiler dafür. '. Seltsame Formulierung. Sie müssen einen Rundfunkempfänger dafür registrieren, würde ich sagen. Und du hast nicht gezeigt, wie das geht. – greenapps

+0

Ist "verbunden" bedeutet, dass es angeschlossen und schreibbereit ist ?. –

Verwandte Themen