在华为荣耀的盒子验证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到系统中,重启设备后。就可以使用了。
时间: 2024-10-14 15:25:13