为什么 Android 没有将连接的计算机视为 USB 设备或 USB 附件
Why does Android not see a connected computer as either a USB Device or USB Accessory
我正在尝试更深入地了解 Android USB API。我玩过 USB 主机 API,并已成功将各种设备(USB 记忆棒、连接了其他设备的 USB 集线器)连接到我的 Android phone(Phone 作为主机)。我发现了设备、提取了信息、探索了接口、端点信息等
当我将 Phone 插入我的 PC 时,我假设 PC 将被枚举为设备或附件,但它并没有显示为两者。
这是我用来发现所有设备和配件的代码
UsbManager manager = (UsbManager) getSystemService(USB_SERVICE);
UsbAccessory[] as = manager.getAccessoryList();
if (as != null) {
Log.i("Usb", "Found Accessory " + as[0].toString());
} else {
Log.i("Usb", "no accessory found");
}
HashMap<String, UsbDevice> ds = manager.getDeviceList();
if (ds == null || ds.isEmpty()) {
Log.i("Usb", "no devices found");
} else {
for (Map.Entry e : ds.entrySet()) {
Log.i("Usb", "Found device " + e.getValue().toString());
}
}
为什么 phone 不将 PC 视为设备或附件?
When I plug my Phone into my PC I assumed the PC would be enumerated as either a Device or an Accessory, but it does not show up as either.
没有。 PC 始终 主机,Android 在 PC 上枚举为设备。
因此您永远不会在 UsbManager
设备列表中获得 PC。此API仅在Android为宿主时使用
我正在尝试更深入地了解 Android USB API。我玩过 USB 主机 API,并已成功将各种设备(USB 记忆棒、连接了其他设备的 USB 集线器)连接到我的 Android phone(Phone 作为主机)。我发现了设备、提取了信息、探索了接口、端点信息等
当我将 Phone 插入我的 PC 时,我假设 PC 将被枚举为设备或附件,但它并没有显示为两者。
这是我用来发现所有设备和配件的代码
UsbManager manager = (UsbManager) getSystemService(USB_SERVICE);
UsbAccessory[] as = manager.getAccessoryList();
if (as != null) {
Log.i("Usb", "Found Accessory " + as[0].toString());
} else {
Log.i("Usb", "no accessory found");
}
HashMap<String, UsbDevice> ds = manager.getDeviceList();
if (ds == null || ds.isEmpty()) {
Log.i("Usb", "no devices found");
} else {
for (Map.Entry e : ds.entrySet()) {
Log.i("Usb", "Found device " + e.getValue().toString());
}
}
为什么 phone 不将 PC 视为设备或附件?
When I plug my Phone into my PC I assumed the PC would be enumerated as either a Device or an Accessory, but it does not show up as either.
没有。 PC 始终 主机,Android 在 PC 上枚举为设备。
因此您永远不会在 UsbManager
设备列表中获得 PC。此API仅在Android为宿主时使用