【发布时间】:2016-07-11 18:01:52
【问题描述】:
我有一个连接到 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;
}
}
}
这让我知道我已连接到 USB 配件,但我没有。我有一个开发者应用程序可以监控手机中的所有内容并说同样的话:
UsbAccessory[] accessories = usbManager.getAccessoryList();
附件已连接。我还尝试了触发广播或终止后台进程之类的方法。手机只有重启才会显示无配件。
sendBroadcast(new Intent(UsbManager.ACTION_USB_ACCESSORY_DETACHED));
我的问题只是 Htc One M9, Api 22, Android version 5.1 。 如果你们能帮上忙,那就太好了,我花了几天时间试图弄清楚。
【问题讨论】:
标签: android usb android-5.1.1-lollipop accessory