我使用一个线程将数据发送到我的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是什么……
凉爽的。一个界面...没有关于它是什么的信息。这就是我在这里的原因。
有谁有线索吗?
发布于 2020-02-28 06:47:02
应用程序应该监听UsbManager.ACTION_USB_DEVICE_ATTACHED和UsbManager.ACTION_USB_DEVICE_DETACHED意图。它应该尝试打开从attached意图接收的设备。
该错误通常发生在应用程序尝试重新打开到UsbDevice的连接时。当UsbDevice重新连接时,会为其分配一个新的硬件地址(旧:/dev/bus/usb/001/002,新:/dev/bus/usb/001/003)。
https://stackoverflow.com/questions/22905121
复制相似问题