Android USB API獲取設備信息失敗問題

在華爲榮耀的盒子驗證openni的程序,發現orbbec的3d攝像頭一直沒法使用,一直卡在 設備找不到的提示。 開始從下面2個方面驗證:1.驗證openni的自己自帶的SimpleRead程序,看看是否正常讀取到設備信息和depth 圖。2.驗證Android層usb權限控制問題。java

通過驗證發現openni自帶的c++的可執行程序,能夠正常讀取到設備信息和depth 圖。由此推測 orbbec 3d的驅動和openni的這塊部分沒有什麼問題。問題可能出在Android層的usb權限和獲取設備信息這塊。
android

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

通過驗證發現經過UsbManager獲取devicelist一直返回空。經過搜索找到下面的解決方案。c++

用UsbManager.getDeviceList獲取不到USB設備信息,須要進行以下處理才能獲取到USB設備信息spa

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

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

into foldercode

/system/etc/permissions

in that folder find file namedorm

handheld_core_hardware.xml or tablet_core_hardware.xml

and addxml

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

修改文件後push到系統中,重啓設備後。就可使用了。get

相關文章
相關標籤/搜索