Ich führe eine USB-Verbindung in einer AsyncTask aus. Unter einigen Bedingungen, wenn ich versuche, die Verbindung zu verwenden, kehrt die Bulk-Transfer-Funktion nie zurück. Wenn ich die AsyncTask abbringe, funktioniert die Verbindung nicht mehr, wenn ich den Computer nicht neu starte.Android Programmatisch freigegebene USB-Schnittstelle freigeben
Log.d(TAG, "trying to connect");
boolean connected = con.claimInterface(device.getInterface(0), true);
Log.d(TAG, "connected: " + connected);
Log.d(TAG, "trying to transfer cmd");
int outGoingBytes = con.bulkTransfer(endPointOut, cmd, cmd.length, 0);
Log.d(TAG, "outGoingBytes: " + outGoingBytes);
Das letzte Protokoll wird nie erreicht.
Gibt es eine Möglichkeit, die Schnittstelle programmatisch freizugeben, damit ich eine Verbindung wiederherstellen kann?
Dies ist der logcat Fehler
E/UsbDeviceConnectionJNI: device is closed in native_claim_interface