亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何防止.connect()之后Android藍牙RFCOMM連接立即死亡?

如何防止.connect()之后Android藍牙RFCOMM連接立即死亡?

皈依舞 2019-11-07 12:54:04
我正在嘗試從運行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(); }


查看完整回答
反對 回復 2019-11-07
  • 3 回答
  • 0 關注
  • 759 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號