0

我想获取所有连接到我的 android usb 设备的主机列表。

UsbManager manager = (UsbManager)parent.getSystemService(Context.USB_SERVICE);
UsbAccessory[] accessoryList = manager.getAccessoryList();
if(accessoryList == null){
Log.w(TAG, "AccessoryList is null");
}

这将 null 返回给 LogCat。

同样在广播接收器中,

UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);

也返回null。

我的 PC 已连接到 android 并在运行应用程序时,应用程序要求连接到 USB 主机的权限。

怎么了?请帮帮我。

4

1 回答 1

1

从 UsbManager 的文档中:

此类允许您访问 USB 的状态并与 USB 设备进行通信。目前公共 API 仅支持主机模式。

当您将 Android 设备连接到 PC 时,PC 是 USB 主机,而 Android 是 USB 设备。因此,您不能使用当前的 UsbManager API - 只有当您将 USB 外围设备连接到具有硬件和软件支持的手机时,它才会适用。

Android 在早期 USB 连接手机的传统中并没有真正的桌面<->移动“同步”API - 有一些可能性,但主要假设是最终用户将使用谷歌或其他基于云的服务这个目的。

于 2013-11-11T16:02:11.443 回答