當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > Android USB Host與HID 通訊(三)
Android USB Host與HID 通訊(三)
時(shí)間:2018-09-20 來(lái)源:未知
上篇文章,我們已經(jīng)開(kāi)始進(jìn)行代碼編程,主要目的就是枚舉出連接到USBHost上的HID設(shè)備,但是在實(shí)際開(kāi)發(fā)中,在使用manager.getDeviceList()總是獲取不到設(shè)備列表。經(jīng)過(guò)一番查找資料,現(xiàn)在終于把問(wèn)題解決了,在此記錄一下,以備不時(shí)之需。
1、創(chuàng)建 android.hardware.usb.host.xml,內(nèi)容為:
<permissions>
<feature name="android.hardware.usb.host"/>
</permissions>
將該文件push到/system/etc/permissions目錄下。
2、在/system/etc/permissions下的handheld_core_hardware.xml或者tablet_core_hardware.xml文件的
[html] view plaincopyprint?
<feature name="android.hardware.usb.host" />
重啟設(shè)備
3、修改AndroidManifest.xml文件,添加以下權(quán)限(很關(guān)鍵):
[html] view plaincopyprint?
<uses-permission android:name="android.hardware.usb.host" />
<uses-permission android:name="android.hardware.usb.accessory" />
4、枚舉設(shè)備的代碼例子:
[html] view plaincopyprint?
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
Log.e(TAG, "get device list = " + deviceList.size());
Toast.makeText(this, "get device list = " + deviceList.size(), 200).show();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
while (deviceIterator.hasNext()) {
UsbDevice device = deviceIterator.next();
Log.e(TAG, "device name = " + device.getDeviceName());
}

到此為止,終于看到連接到Android平板上的設(shè)備了。
華清遠(yuǎn)見(jiàn)90+項(xiàng)目獲批!教育部2021最新協(xié)同育人項(xiàng)目名
華清遠(yuǎn)見(jiàn)榮獲2021騰訊教育“年度口碑影響力職業(yè)教育品
華清遠(yuǎn)見(jiàn)受邀參加2021年武漢民辦高校信息學(xué)科合作聯(lián)盟
溫暖同行共創(chuàng)佳績(jī) 2019華清遠(yuǎn)見(jiàn)北京總部年會(huì)大曝光
助力高校AI人工智能學(xué)科建設(shè) 華清遠(yuǎn)見(jiàn)人工智能師資班
華清遠(yuǎn)見(jiàn)受邀參加四川省物聯(lián)網(wǎng)年會(huì),榮獲優(yōu)秀企業(yè)專家
