1

我正在尝试从蓝牙设备读取数据,首先我安装了“S2 Bluetooth term3”,效果很好..

现在我试图从我自己的应用程序中读取数据,创建一个套接字,所以:

mSocket = device.createRfcommSocketToServiceRecord(device.getUuids()[0].getUuid());

但是,不起作用,我得到了这个:

服务发现失败

我已经阅读了几篇文章,并且已经尝试过:

Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
mSocket = (BluetoothSocket) m.invoke(device, 1);

我得到了这个:

没有权限

这在这一行失败:

mSocket.connect();

我的设备的 UUID 是:00000111-0000-1000-8000-00805f9b34bf

谢谢。

4

2 回答 2

1

我明白了,因为必须使用 Android 4.0.4 (API 10):

createInsecureRfcommSocketToServiceRecord(...)

代替:

createRfcommSocketToServiceRecord(...)

现在我的应用程序可以工作了!

于 2013-07-12T13:28:50.657 回答
0

您在清单中有适当的权限吗?

`<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />`
于 2013-07-04T17:37:22.530 回答