【问题标题】:Usb Accessory stays connected after usb unplugged拔下 USB 后,USB 配件保持连接状态
【发布时间】: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


    【解决方案1】:

    我做了一些改进。它的工作原理是这样的……但不是 100% 确定。

    boolean check = checkOpenAccessory();
    

    然后在某处需要时使用checkOpenAccessory(),并将返回真实的东西。

    基本上第二次会起作用,虽然不是 100% 肯定,但它会起作用。

    Refer to this link.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多