我正在嘗試從運行2.0.1固件的Moto Droid 連接到Zeemote(http://zeemote.com/)游戲控制器。以下測試應用程序確實已連接到設備(LED閃爍),但此后立即斷開連接。我在下面粘貼了兩個測試應用程序:一個實際上嘗試從輸入流中讀取,另一個則只是坐在那里,等待設備在5秒鐘后斷開連接。是的,我確實有第三個版本:),它首先等待ACL_CONNECTED,然后打開套接字,但是它的行為沒有新內容。一些背景信息:我可以使用bluez工具(也附帶日志)從筆記本電腦完美連接到Zeemote。我肯定知道Droid 也可以與Zeemote進行對話,因為Market的'Game Pro'可以正常工作(但是那是驅動程序/服務,所以也許它使用了較低級的API?)。我注意到,“ adb bugreport”既不報告Zeemote的UUID也不顯示RFCOMM頻道,而報告其他所有設備(包括Moto HS815耳機,另一個“ sdp瀏覽”不報告的啞設備)。另外,設備啟動時,Zeemote的優先級為0(其他優先級為100+)。我不知所措我在這兒住,我工作了這么久,我跑的想法說出來,所以任何幫助將是非常贊賞(即使你不知道的答案:))
3 回答

慕運維8079593
TA貢獻1876條經驗 獲得超5個贊
嘗試更改用于創建RfcommSocket的代碼:
sock = zee.createRfcommSocketToServiceRecord(
UUID.fromString("8e1f0cf7-508f-4875-b62c-fbb67fd34812"));
對于此代碼:
Method m = zee.getClass().getMethod("createRfcommSocket", new Class[] { int.class });
sock = (BluetoothSocket) m.invoke(device, 1);
還嘗試在此m.invoke(device,1);中更改參數范圍1-3。當連接將被連接但嘗試讀取時中止時,請在某個循環中再次調用方法test()。很簡單:
for(int i=0;i<3;i++){ if(!testDone) test(); }
- 3 回答
- 0 關注
- 759 瀏覽
添加回答
舉報
0/150
提交
取消