Android到诺基亚通过蓝牙传输数据

时间:2011-11-23 09:42:10

标签: android bluetooth nokia

我正在尝试将我的Android手机连接到我的诺基亚手机。我可以通过我的Andorid应用程序发现诺基亚手机。我可以成功创建套接字:

btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);

但是当我尝试连接到诺基亚手机时,连接出错。 我正在尝试运行以下链接中提供的示例:

http://www.anddev.org/code-snippets-for-android-f33/serial-over-bluetooth-simple-test-client-t11106.html

执行btSocket.connect()方法中存在的代码onResume()时发生错误:

logcat的:

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和互联网上寻求帮助,但没有找到帮助。

1 个答案:

答案 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);