拔下 USB 后,USB 附件保持连接
Usb Accessory stays connected after usb unplugged
我有一个连接到 USB 配件的应用程序。简单,但即使拔下 USB 数据线,配件仍保持连接状态。
这是我的代码:
public boolean checkOpenAccessory(){
UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
UsbAccessory[] accessories = usbManager.getAccessoryList();
UsbAccessory accessory;
if(accessories == null ){
accessory = null;
return false;
} else {
accessory = accessories[0];
if(usbManager.hasPermission(accessory)) {
return (usbManager.openAccessory(accessory) != null);
} else {
return false;
}
}
}
这 returns 我连接到 USB 配件,但我没有。我有一个开发人员应用程序,它监视 phone 中的所有内容并说同样的话:
UsbAccessory[] accessories = usbManager.getAccessoryList();
附件已连接。我还尝试了诸如触发广播或终止后台进程之类的操作。 phone只有重启才会显示无附件
sendBroadcast(new Intent(UsbManager.ACTION_USB_ACCESSORY_DETACHED));
我的问题只有一台 Htc One M9,Api22,Android5.1 版。
如果你们能提供帮助,那将是一件好事,我花了几天时间试图弄清楚。
我做了一些 improvements.It 类似这样的工作..但不是 100% 确定。
boolean check = checkOpenAccessory();
然后在某处需要的时候使用checkOpenAccessory()
,然后return真正的东西。
基本上第二次就可以了,不是100%确定但是可以。
我有一个连接到 USB 配件的应用程序。简单,但即使拔下 USB 数据线,配件仍保持连接状态。
这是我的代码:
public boolean checkOpenAccessory(){
UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
UsbAccessory[] accessories = usbManager.getAccessoryList();
UsbAccessory accessory;
if(accessories == null ){
accessory = null;
return false;
} else {
accessory = accessories[0];
if(usbManager.hasPermission(accessory)) {
return (usbManager.openAccessory(accessory) != null);
} else {
return false;
}
}
}
这 returns 我连接到 USB 配件,但我没有。我有一个开发人员应用程序,它监视 phone 中的所有内容并说同样的话:
UsbAccessory[] accessories = usbManager.getAccessoryList();
附件已连接。我还尝试了诸如触发广播或终止后台进程之类的操作。 phone只有重启才会显示无附件
sendBroadcast(new Intent(UsbManager.ACTION_USB_ACCESSORY_DETACHED));
我的问题只有一台 Htc One M9,Api22,Android5.1 版。 如果你们能提供帮助,那将是一件好事,我花了几天时间试图弄清楚。
我做了一些 improvements.It 类似这样的工作..但不是 100% 确定。
boolean check = checkOpenAccessory();
然后在某处需要的时候使用checkOpenAccessory()
,然后return真正的东西。
基本上第二次就可以了,不是100%确定但是可以。