3
當通過UUID方法(其他方法(使用反射)在這裏http://code.google.com/p/android/issues/detail?id=5427)打開藍牙rfcomm套接字 - 我有時會得到以下錯誤(成功連接後),並且套接字未打開:清理失敗的UUID通道查找
E/BluetoothService(21847): Received ACTION_UPDATE_SERVICE_CACHE00:0B:CE:01:2E:00
D/BluetoothService(21847): updateDeviceServiceChannelCache(00:0B:CE:01:2E:00)
D/BluetoothService(21847): Cleaning up failed UUID channel lookup: 00:0B:CE:01:2E:00 00001101-0000-1000-8000-00805f9b34fb
沒有運氣與谷歌在這一個 - 有任何人在這裏線索怎麼回事,以及如何防止呢?
更新:
運行到同一問題的人 - 可能的解決方案:
- 建議用戶重新啓動設備,如果我們遇到那個狀態( 非常糟糕UX)
- 使用反射方法(骯髒,但大多數時間工作)
- 我仍然對新想法開放;-)
我堅持#2在這一刻 - 但等待更好的解決方案。
服務已存在 - 我可以在此設備上以此方式進行連接 - 有時我會遇到該錯誤(一段時間),並在稍後嘗試連接某些連接嘗試 - 但我想擺脫由於該問題導致的延遲。 – ligi
如果您的服務已經被首先拒絕,您只能連接到服務。在J2ME上它可以工作。所以我假設你正在啓動一項發現任務,並且正在連接到服務。有時發現可能會失敗,因此假設設備沒有這種設備。 –
有趣的是,這些模塊甚至沒有做SDP服務發現 - 我確信只有在這個特定時刻才能打開端口 - 使用J2ME更容易,因爲您可以直接連接到端口並完全跳過SDP。 – ligi