【发布时间】:2014-04-07 06:33:19
【问题描述】:
我使用线程将数据发送到我的 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是什么...
酷。一个接口......关于它是什么的信息为零。这就是我在这里的原因。
有人知道吗???
【问题讨论】:
-
您好,当我重新启动我的 USB 设备时,我遇到了同样的异常。我怀疑您使用该设备的许可是“重新请求的”。当这种情况发生在我身上时,我必须重新连接 USB 电缆。不过,我还没有找到任何解决方法。
-
你有解决办法吗?我在尝试连接 USB CDC 类时遇到了同样的异常。
-
你需要释放你的 UsbConnection。我不能给出一个确切的数字。大约是发送数据十次,然后发布一次。 (并再次获得一个 UsbConnection ......)
-
@ErikSoderstrom “重新请求”是什么意思?顺便说一句,遇到同样的问题...您找到解决方案了吗...?
-
对不起。不重新请求。我应该说...重新打开(UsbManager.openDeivice)\