2013-07-04 98 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