我试图从蓝牙设备读取数据,首先我安装了" S2蓝牙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
感谢。
答案 0 :(得分:1)
我明白了,因为需要使用Android 4.0.4(API 10):
createInsecureRfcommSocketToServiceRecord(...)
而不是:
createRfcommSocketToServiceRecord(...)
现在我的应用有效了!
答案 1 :(得分:0)
您是否在清单中拥有适当的权限?
`<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />`