我正在尝试将我的Android手机连接到我的诺基亚手机。我可以通过我的Andorid应用程序发现诺基亚手机。我可以成功创建套接字:
btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
但是当我尝试连接到诺基亚手机时,连接出错。 我正在尝试运行以下链接中提供的示例:
执行btSocket.connect()
方法中存在的代码onResume()
时发生错误:
D/BluetoothAdapter( 176): checkBluetoothAddress
E/THINBTCLIENT( 4738): ON RESUME: Exception during connect.
E/THINBTCLIENT( 4738): java.io.IOException: Service discovery failed
E/THINBTCLIENT( 4738): at android.bluetooth.BluetoothSocket$SdpHelper.doSdp(BluetoothSocket.java:377)
E/THINBTCLIENT( 4738): at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:201)<br>
E/THINBTCLIENT( 4738): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1149)
这是我正在使用的UUID
:
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");`
请让我知道我哪里出错了。我试图在Stackoverflow和互联网上寻求帮助,但没有找到帮助。
答案 0 :(得分:0)
我使用了此处找到的解决方案:Service discovery failed exception using Bluetooth on Android
由于某些原因我不清楚,反射适用于普通方法不起作用的某些设备。试试这个:
Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class} );
btSocket = (BluetoothSocket) m.invoke(device, 1);