我有一个基于棒棒糖的android盒子。该盒子有一个USB端口,类似于Android手机中的微型USB端口。我想检查是否有任何主机与设备模式下的android框连接到USB端口,类似于手机连接到PC时。至少,我只需要检查是否有东西连接到这个USB端口,最多得到连接主机的一些信息(制造商,型号,串口)。我不需要任何数据通信。
我试过了
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
manager.getAccessoryList();
但即使我已将笔记本电脑连接到它并且adb和文件传输正在运行,它也会变空。
虽然在进一步阅读时,似乎安卓USB配件API仅限于特殊的Android配件。
答案 0 :(得分:0)
UsbManager m = (UsbManager)getApplicationContext().getSystemService(USB_SERVICE);
HashMap<String, UsbDevice> usbDevices = m.getDeviceList();
Collection<UsbDevice> ite = usbDevices.values();
UsbDevice[] usbs = ite.toArray(new UsbDevice[]{});
for (UsbDevice usb : usbs) {
Log.d("Connected usb devices","Connected usb devices are "+ usb.getDeviceName());
}
答案 1 :(得分:-1)
你可以像使用这个帖子Android : how to detect already connected usb device?或者那样使用Android USBManager 你可以在android:https://github.com/libusb/libusb/tree/master/android
上安装libusb(https://developer.android.com/guide/topics/connectivity/usb/host.html,https://electronics.stackexchange.com/questions/49140/what-exactly-are-the-difference-between-a-usb-host-and-device)