在Android中关闭与UsbAccessory
的连接的正确方法是什么?
看起来甚至在谷歌股票的例子中,如果我连接和配件,退出应用程序,然后返回它,连接不会重新建立。
仔细观察,似乎在close()
上调用FileDescriptor
之后,它将无法再次打开,并且会发出“无法打开/ dev / usb_accessory”日志。
不调用close()
是一个不好的选择,因为read()
上的线程阻塞将不会被释放。在物理断开/重新连接设备后,一切正常。
退出应用程序然后再次打开它的简单用例在参考应用程序中不起作用似乎真的很令人惊讶,如果不可行则更令人惊讶。
我正在使用Nexus S运行版Android 2.3.6。
答案 0 :(得分:15)
问题是读取线程永远不会退出,因此文件描述符保持打开状态,并且在恢复应用程序时无法再次打开。
这已被证实是一个错误: http://code.google.com/p/android/issues/detail?id=20545
如果您关心它,请投票支持此错误。
答案 1 :(得分:0)
尝试重新连接两次 它第一次失败的接缝将关闭连接,然后再次尝试打开它将工作! 对我来说它有用!