2013-04-16 13 views
5

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 

Antwort

2

Überprüfen Sie meine Frage. android bluetooth can't connect

Sieht aus wie ein Problem mit Android selbst, und nicht Ihr Code.

+1

Android 4.3 hat es immer noch nicht behoben. –