Android USB API获取设备信息失败问题

在华为荣耀的盒子验证openni的程序,发现orbbec的3d摄像头一直无法使用,一直卡在 设备找不到的提示。 开始从下面2个方面验证:1.验证openni的本身自带的SimpleRead程序,看看是否正常读取到设备信息和depth 图。2.验证Android层usb权限控制问题。

经过验证发现openni自带的c++的可执行程序,可以正常读取到设备信息和depth 图。由此推测 orbbec 3d的驱动和openni的这块部分没有什么问题。问题可能出在Android层的usb权限和获取设备信息这块。

UsbManager usbManager=(UsbManager)getSystemService(Context.USB_SERVICE);
HashMap list=usbManager.getDeviceList();
Log.v("xcy","list size"+list.size());

经过验证发现通过UsbManager获取devicelist一直返回空。通过搜索找到下面的解决方案。

用UsbManager.getDeviceList获取不到USB设备信息,需要进行如下处理才能获取到USB设备信息

To enable USB host API support you should add a file named
android.hardware.usb.host.xmland containing the following lines:

<permissions>
 <feature name="android.hardware.usb.host"/></permissions>

into folder

/system/etc/permissions

in that folder find file named

handheld_core_hardware.xml or tablet_core_hardware.xml

and add

<feature name="android.hardware.usb.host"/>

修改文件后push到系统中,重启设备后。就可以使用了。



你可能感兴趣的:(Android USB API获取设备信息失败问题)