Ich führe das Bluetooth Chat-Beispiel aus dem Android SDK 4.2-Beispielpaket ohne Änderungen am Code durch. Mein Ziel ist ein Nexus 7 mit Android 4.2.2. Ich erhalte diese Fehler, sobald ich eine sichere Verbindung zu einem gekoppelten Gerät versuche. Connect Insecure schlägt ebenfalls fehl, was zu ähnlichen Fehlern führt. Gelegentlich, nachdem ich BT neu gestartet habe, ist die Verbindung erfolgreich.Bluetooth Secureaccept() Fehlgeschlagen, Nexus 7, Android 4.2.2
Ich habe recherchiert und viele Hinweise auf BT-Probs auf Android 4 gesehen, aber ich dachte, dass sie in nachfolgenden 4.2 Versionen behoben worden sein sollten. Das Nexus 7 ist mein einziges Gerät, also frage ich mich, ob dies auf anderen Geräten passiert.
Gibt es eine Problemumgehung für dieses Problem? Vielen Dank im Voraus für jede Anleitung!
UPDATE: Nach weiterer Untersuchung fand ich this link, was darauf hinweist, dass ein Leck in dem BT-Ressourcenstack, der immer noch in 4.2.2 vorhanden ist, durch manuelles Stoppen/Neustarten von BT gelöst werden kann. Hat jemand eine programmatische Problemumgehung gefunden?
04-16 08:50:48.505: E/BluetoothChat(28905): +++ ON CREATE +++
04-16 08:50:48.535: E/BluetoothChat(28905): ++ ON START ++
04-16 08:50:48.535: D/BluetoothChat(28905): setupChat()
04-16 08:50:48.535: E/BluetoothChat(28905): + ON RESUME +
04-16 08:50:48.535: D/BluetoothChatService(28905): start
04-16 08:50:48.535: D/BluetoothChatService(28905): setState() 0 -> 1
04-16 08:50:48.545: W/BluetoothAdapter(28905): getBluetoothService() called with no BluetoothManagerCallback
04-16 08:50:48.545: D/BluetoothChatService(28905): Socket Type: SecureBEGIN mAcceptThreadThread[Thread-9834,5,main]
04-16 08:50:48.545: W/BluetoothAdapter(28905): getBluetoothService() called with no BluetoothManagerCallback
04-16 08:50:48.545: D/BluetoothChatService(28905): Socket Type: InsecureBEGIN mAcceptThreadThread[Thread-9835,5,main]
04-16 08:50:48.555: I/BluetoothChat(28905): MESSAGE_STATE_CHANGE: 1
04-16 08:50:48.615: D/libEGL(28905): loaded /system/lib/egl/libEGL_tegra.so
04-16 08:50:48.635: D/libEGL(28905): loaded /system/lib/egl/libGLESv1_CM_tegra.so
04-16 08:50:48.645: D/libEGL(28905): loaded /system/lib/egl/libGLESv2_tegra.so
04-16 08:50:48.675: D/OpenGLRenderer(28905): Enabling debug mode 0
04-16 08:52:08.625: E/BluetoothChat(28905): - ON PAUSE -
04-16 08:52:08.755: D/dalvikvm(28905): GC_CONCURRENT freed 134K, 4% free 7529K/7792K, paused 3ms+3ms, total 29ms
04-16 08:52:10.115: D/BluetoothChat(28905): onActivityResult -1
04-16 08:52:10.115: D/BluetoothChatService(28905): connect to: C8:D1:5E:2F:12:E8
04-16 08:52:10.115: D/BluetoothChatService(28905): setState() 1 -> 2
04-16 08:52:10.115: I/BluetoothChatService(28905): BEGIN mConnectThread SocketType:Secure
04-16 08:52:10.115: E/BluetoothChat(28905): + ON RESUME +
04-16 08:52:10.125: W/BluetoothAdapter(28905): getBluetoothService() called with no BluetoothManagerCallback
04-16 08:52:10.125: D/BluetoothSocket(28905): connect(), SocketState: INIT, mPfd: {ParcelFileDescriptor: FileDescriptor[54]}
04-16 08:52:10.135: I/BluetoothChat(28905): MESSAGE_STATE_CHANGE: 2
04-16 08:52:11.645: D/BluetoothChatService(28905): connected, Socket Type:Secure
04-16 08:52:11.645: D/BluetoothChatService(28905): Socket TypeSecurecancel Thread[AcceptThreadSecure,5,main]
04-16 08:52:11.645: D/BluetoothChatService(28905): Socket TypeInsecurecancel Thread[AcceptThreadInsecure,5,main]
04-16 08:52:11.645: D/BluetoothChatService(28905): create ConnectedThread: Secure
04-16 08:52:11.655: E/BluetoothChatService(28905): Socket Type: Insecureaccept() failed
04-16 08:52:11.655: E/BluetoothChatService(28905): java.io.IOException: read failed, socket might closed or timeout, read ret: -1
04-16 08:52:11.655: E/BluetoothChatService(28905): at android.bluetooth.BluetoothSocket.readAll(BluetoothSocket.java:492)
04-16 08:52:11.655: E/BluetoothChatService(28905): at android.bluetooth.BluetoothSocket.waitSocketSignal(BluetoothSocket.java:469)
04-16 08:52:11.655: E/BluetoothChatService(28905): at android.bluetooth.BluetoothSocket.accept(BluetoothSocket.java:393)
04-16 08:52:11.655: E/BluetoothChatService(28905): at android.bluetooth.BluetoothServerSocket.accept(BluetoothServerSocket.java:131)
04-16 08:52:11.655: E/BluetoothChatService(28905): at android.bluetooth.BluetoothServerSocket.accept(BluetoothServerSocket.java:117)
04-16 08:52:11.655: E/BluetoothChatService(28905): at com.example.android.BluetoothChat.BluetoothChatService$AcceptThread.run(BluetoothChatService.java:301)
04-16 08:52:11.655: D/BluetoothChatService(28905): setState() 2 -> 3
04-16 08:52:11.655: I/BluetoothChatService(28905): END mAcceptThread, socket Type: Insecure
04-16 08:52:11.655: E/BluetoothChatService(28905): Socket Type: Secureaccept() failed
04-16 08:52:11.655: E/BluetoothChatService(28905): java.io.IOException: read failed, socket might closed or timeout, read ret: -1
04-16 08:52:11.655: E/BluetoothChatService(28905): at android.bluetooth.BluetoothSocket.readAll(BluetoothSocket.java:492)
04-16 08:52:11.655: E/BluetoothChatService(28905): at android.bluetooth.BluetoothSocket.waitSocketSignal(BluetoothSocket.java:469)
04-16 08:52:11.655: E/BluetoothChatService(28905): at android.bluetooth.BluetoothSocket.accept(BluetoothSocket.java:393)
04-16 08:52:11.655: E/BluetoothChatService(28905): at android.bluetooth.BluetoothServerSocket.accept(BluetoothServerSocket.java:131)
04-16 08:52:11.655: E/BluetoothChatService(28905): at android.bluetooth.BluetoothServerSocket.accept(BluetoothServerSocket.java:117)
04-16 08:52:11.655: E/BluetoothChatService(28905): at com.example.android.BluetoothChat.BluetoothChatService$AcceptThread.run(BluetoothChatService.java:301)
04-16 08:52:11.655: I/BluetoothChatService(28905): END mAcceptThread, socket Type: Secure
04-16 08:52:11.655: I/BluetoothChatService(28905): BEGIN mConnectedThread
04-16 08:52:11.665: I/BluetoothChat(28905): MESSAGE_STATE_CHANGE: 3
04-16 08:52:36.985: E/BluetoothChat(28905): - ON PAUSE -
04-16 08:52:37.005: E/BluetoothChat(28905): -- ON STOP --
04-16 08:52:37.015: D/BluetoothChatService(28905): stop
04-16 08:52:37.015: E/BluetoothChatService(28905): disconnected
04-16 08:52:37.015: E/BluetoothChatService(28905): java.io.IOException: bt socket closed, read return: -1
04-16 08:52:37.015: E/BluetoothChatService(28905): at android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:416)
04-16 08:52:37.015: E/BluetoothChatService(28905): at android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:96)
04-16 08:52:37.015: E/BluetoothChatService(28905): at java.io.InputStream.read(InputStream.java:163)
04-16 08:52:37.015: E/BluetoothChatService(28905): at com.example.android.BluetoothChat.BluetoothChatService$ConnectedThread.run(BluetoothChatService.java:454)
04-16 08:52:37.015: D/BluetoothChatService(28905): setState() 3 -> 0
04-16 08:52:37.015: E/BluetoothChat(28905): --- ON DESTROY ---
04-16 08:52:37.015: D/BluetoothChatService(28905): start
04-16 08:52:37.015: D/BluetoothChatService(28905): setState() 0 -> 1
04-16 08:52:37.025: W/BluetoothAdapter(28905): getBluetoothService() called with no BluetoothManagerCallback
04-16 08:52:37.045: D/BluetoothChatService(28905): Socket Type: SecureBEGIN mAcceptThreadThread[Thread-9842,5,main]
04-16 08:52:37.115: W/BluetoothAdapter(28905): getBluetoothService() called with no BluetoothManagerCallback
04-16 08:52:37.125: E/BluetoothChat(28905): +++ ON CREATE +++
04-16 08:52:37.125: D/BluetoothChatService(28905): start
04-16 08:52:37.125: D/BluetoothChatService(28905): setState() 1 -> 1
04-16 08:52:37.125: D/BluetoothChatService(28905): Socket Type: InsecureBEGIN mAcceptThreadThread[Thread-9843,5,main]
04-16 08:52:37.155: E/BluetoothChat(28905): ++ ON START ++
04-16 08:52:37.155: D/BluetoothChat(28905): setupChat()
04-16 08:52:37.155: E/BluetoothChat(28905): + ON RESUME +
04-16 08:52:37.155: D/BluetoothChatService(28905): start
04-16 08:52:37.155: D/BluetoothChatService(28905): setState() 0 -> 1
04-16 08:52:37.165: W/BluetoothAdapter(28905): getBluetoothService() called with no BluetoothManagerCallback
04-16 08:52:37.165: W/BluetoothAdapter(28905): getBluetoothService() called with no BluetoothManagerCallback
04-16 08:52:37.165: D/BluetoothChatService(28905): Socket Type: SecureBEGIN mAcceptThreadThread[Thread-9844,5,main]
04-16 08:52:37.175: D/BluetoothChatService(28905): Socket Type: InsecureBEGIN mAcceptThreadThread[Thread-9845,5,main]
04-16 08:52:37.215: I/BluetoothChat(28905): MESSAGE_STATE_CHANGE: 0
04-16 08:52:37.215: I/BluetoothChat(28905): MESSAGE_STATE_CHANGE: 1
04-16 08:52:37.225: I/BluetoothChat(28905): MESSAGE_STATE_CHANGE: 1
04-16 08:52:37.225: I/BluetoothChat(28905): MESSAGE_STATE_CHANGE: 1
Android 4.3 hat es immer noch nicht behoben. –