|
[3288-5.1.1] 关于USB通信的问题-获取UsbDevice时intefface和endpoint为空
发表于 2017-4-5 11:22:49
浏览:7579
|
回复:2
打印
只看该作者
[复制链接]
楼主
上周帮客户处理了一个问题,就是客户打印机插入后,如果再插入其他USB设备的话,用他们的apk打开会失败。后来我添加log打印后发现,获取UsbDevice时,只有最后插入的Usb设备的UsbDevice中intefface和endpoint才是正常,其他的都是为空。这是一个5.1.1的共性问题,不懂google也会出这种简单的问题,修复的方法很简单,如下修改两行就好。后面会添加到我们的sdk上,现在有需要的可以自行打上.~/prj/TooPOS/tvbox-51$ git diff frameworks/base/services/usb/java/com/android/server/usb/UsbHostManager.javadiff --git a/frameworks/base/services/usb/java/com/android/server/usb/UsbHostManager.java b/frameworks/base/services/usb/java/com/android/server/usb/UsbHostManager.java
index e769bda..0270461 100644
--- a/frameworks/base/services/usb/java/com/android/server/usb/UsbHostManager.java
+++ b/frameworks/base/services/usb/java/com/android/server/usb/UsbHostManager.java
@@ -230,6 +230,9 @@ public class UsbHostManager {
mNewConfigurations = null;
mNewInterfaces = null;
mNewEndpoints = null;
+ mNewConfiguration = null;
+ mNewInterface = null;
+
}
|
|