我使用线程将数据发送到我的usb设备(不是数据存储)并从设备获取返回数据。
前5分钟工作正常。数据输入,数据输出。 (我几乎开始在第六分钟唱歌。)
然后它突然失去了联系。
有logcat消息:
java.lang.IllegalArgumentException: device /dev/bus/usb/001/002 does not exist or is restricted
at android.os.Parcel.readException(Parcel.java:1331)
at android.os.Parcel.readException(Parcel.java:1281)
at android.hardware.usb.IUsbManager$Stub$Proxy.openDevice(IUsbManager.java:340)
at android.hardware.usb.UsbManager.openDevice(UsbManager.java:255)
所以,我检查了UsbManager
的代码,试图找出IUsbManager
...
冷却。一个接口......并且没有关于它的信息。这就是我在这里的原因。
有没有任何线索???
答案 0 :(得分:1)
应用程序应正在监听UsbManager.ACTION_USB_DEVICE_ATTACHED
和UsbManager.ACTION_USB_DEVICE_DETACHED
的意图。它应尝试打开从attached
意向接收到的设备。
当应用尝试重新打开与UsbDevice的连接时,通常会发生错误。当UsbDevice重新连接时,将为其分配一个新的硬件地址(旧:/dev/bus/usb/001/002
,新:/dev/bus/usb/001/003
)。