2013-07-04 58 views
1

我试图从蓝牙设备中读取数据,首先,我安装了“S2蓝牙TERM3”,它工作得非常不错..读取蓝牙在Android

现在我试图读取从我自己的应用程序创建一个数据插座这样:

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

但是,不能正常工作,我得到这个:

服务发现失败

我已经阅读S everal职位,我已经试过这样:

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

而且我得到了这一点:

权限被拒绝

这失败在这条线:

mSocket.connect() ;

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

感谢。

回答

1

我得到了它,由于Android 4.0.4(API 10)必须使用:的

createInsecureRfcommSocketToServiceRecord(...) 

代替:

createRfcommSocketToServiceRecord(...) 

现在我的应用程序的作品!

0

您是否拥有清单中的适当权限?

`<uses-permission android:name="android.permission.BLUETOOTH" /> 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />` 
+1

是的,我有他们。 – calbertts

+1

也许是同一个问题!? [http://stackoverflow.com/questions/13520575/android-4-0-bluetooth-connection-error-to-an-embedded-device-permission-denie] – PierreH

+0

我收获了,我发现我的应用程序工作正常在Android 2.3.6,但没有在Android 4.0以上 现在,我已经试过了,我试过显示弹出授权启用蓝牙,但我有同样的错误。任何想法? – calbertts