通过UUID方法打开蓝牙rfcomm套接字时(另一种方法(使用反射)在这里http://code.google.com/p/android/issues/detail?id=5427) - 我有时会得到以下错误(成功连接后)并且套接字未打开:
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
在这个问题上谷歌没有运气 - 这里有没有人知道最新情况以及如何预防?
更新
遇到同样问题的人 - 可能的解决方案:
我现在坚持#2 - 但等待更好的解决方案。
答案 0 :(得分:0)
似乎信息是后果,而不是原因。如果在设备上找不到串行端口仿真服务,则连接显然会失败。
<强>更新强>
在审核code后,一切似乎都没问题。所以我的问题是:使用不同的设备在同一设备上发生随机错误吗?如果使用不同的设备,则设备可能尚未注册SerialPort服务。设备先前配对了吗?如果错误随同相同的设备发生错误?您是否同时使用连接类?您没有保护方法不受并发访问的影响。你没有保护成功连接。如果在第二次连接后尝试读取/关闭流,则它将失败(套接字对象已更改)。
好像没问题。同一设备会发生随机错误?如果是这种情况,您是否正在使用该类的并发使用?在第一种情况下