C
Comes
Neues Mitglied
- 0
Auf meinem PC läuft eine Test Java-Applikation, die mit Hilfe der
BlueCove Bibliothek eine SPP-Verbindung zu meinem Nexus 4 aufbaut.
Die Apllikation sendet 72 Bytes ans Android Handy und wartet auf eine Antwort. Wenn die Antwort gekommen ist wartet das Programm 3 Sekunden und sendet erneut 72 Bytes.
Auf dem Nexus läuft im Hintergrund ein Bluetooth Listener der beim Booten startet. Die Applikation basiert auf dem BluetoothChat Beispiel. Wenn Daten am Gerät ankommen überprüft er diese und sendet eine Antwort zurück.
Das funktioniert alles ganz gut. Aber nach 489 Verbindungen bricht die Android Seite ab während die PC-Seite weiterläuft.
Es kommt zu folgendem Fehler:
Die App hat wohl ein Problem mit dem ParcelFileDescriptor, der plötzlich Null ist. Aber warum?
Das Problem tritt auch jedesmal auf, wenn die Pausenzeit zwischen den Verbindungen geändert wird oder die Datenmenge variiert. Auf dem Gerät läuft Android 4.4.2.
Ach ja, nach jeder Verbindung schließe ich den BluetoothServerSocket.
Ich hoffe jemand kennt sich mit dem Bluetooth Chat aus und kann mir weiterhelfen. Danke schonmal
BlueCove Bibliothek eine SPP-Verbindung zu meinem Nexus 4 aufbaut.
Die Apllikation sendet 72 Bytes ans Android Handy und wartet auf eine Antwort. Wenn die Antwort gekommen ist wartet das Programm 3 Sekunden und sendet erneut 72 Bytes.
Auf dem Nexus läuft im Hintergrund ein Bluetooth Listener der beim Booten startet. Die Applikation basiert auf dem BluetoothChat Beispiel. Wenn Daten am Gerät ankommen überprüft er diese und sendet eine Antwort zurück.
Das funktioniert alles ganz gut. Aber nach 489 Verbindungen bricht die Android Seite ab während die PC-Seite weiterläuft.
Es kommt zu folgendem Fehler:
Code:
getBluetoothService() called with no BluetoothManagerCallback
Shutting down VM
threadid=1: thread exiting with uncaught exception (group=0x41b34ba8)
FATAL EXCEPTION: main
Process: de.tum.lme.diamantum:remote_blue, PID: 21567
java.lang.NullPointerException: FileDescriptor must not be null
at android.os.ParcelFileDescriptor.<init>(ParcelFileDescriptor.java:174)
at android.os.ParcelFileDescriptor$1.createFromParcel(ParcelFileDescriptor.java:905)
at android.os.ParcelFileDescriptor$1.createFromParcel(ParcelFileDescriptor.java:897)
at android.bluetooth.IBluetooth$Stub$Proxy.createSocketChannel(IBluetooth.java:1355)
at android.bluetooth.BluetoothSocket.bindListen(BluetoothSocket.java:349)
at android.bluetooth.BluetoothAdapter.createNewRfcommSocketAndRecord(BluetoothAdapter.java:1055)
at android.bluetooth.BluetoothAdapter.listenUsingRfcommWithServiceRecord(BluetoothAdapter.java:976)
at com.test.btconn.BluetoothHandling$AcceptThread.<init>(BluetoothHandling.java:449)
at com.test.btconn.BluetoothHandling.start(BluetoothHandling.java:216)
at com.test.btconn.BluetoothListenerService.setupBtSockets(BluetoothListenerService.java:330)
at com.test.btconn.BluetoothListenerService.manageBtState(BluetoothListenerService.java:249)
at com.test.btconn.BluetoothListenerService.setBtStateDisconnected(BluetoothListenerService.java:383)
at com.test.btconn.BluetoothListenerService.access$5(BluetoothListenerService.java:378)
at com.test.btconn.BluetoothListenerService$2.handleMessage(BluetoothListenerService.java:421)
Das Problem tritt auch jedesmal auf, wenn die Pausenzeit zwischen den Verbindungen geändert wird oder die Datenmenge variiert. Auf dem Gerät läuft Android 4.4.2.
Ach ja, nach jeder Verbindung schließe ich den BluetoothServerSocket.
Ich hoffe jemand kennt sich mit dem Bluetooth Chat aus und kann mir weiterhelfen. Danke schonmal