Android UsbAccessory []返回null

时间:2013-11-11 13:34:50

标签: android usb

我想获取所有连接主机的列表到我的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。

同样在BroadcastReceiver中,

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

也返回null。

我的电脑连接到Android,在运行应用程序时,该应用程序要求权限连接到USB主机。

有什么问题?请帮帮我。

1 个答案:

答案 0 :(得分:1)

来自UsbManager的文档:

  

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

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

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