国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > Android USB Host與HID 通訊(二)

Android USB Host與HID 通訊(二) 時(shí)間:2018-09-20      來(lái)源:未知

我們接著上一部分的內(nèi)容繼續(xù)朝下看,上次我們只是簡(jiǎn)單地介紹了一下Android當(dāng)中USB Host編程的一些基礎(chǔ)知識(shí),了解了幾個(gè)常用的類,其實(shí)在Android系統(tǒng)中要想通過(guò)USB Host與HID通訊,所做的工作的還有很多。

先看看AndroidManifest.xml文件,對(duì)于剛接觸好從簡(jiǎn)單入手,在AndroidManifest.xml中加上intent-filter過(guò)濾器,可以先不做請(qǐng)求權(quán)限的處理,因?yàn)閕ntent-filter方式可以自動(dòng)請(qǐng)求權(quán)限。

1) 添加USB HOST權(quán)限

2)添加意圖過(guò)濾器,并配置自己的資源文件指定USB設(shè)備的屬性,而資源文件為一個(gè)xml文件,如:device_filter.xml

3)對(duì)于資源文件device_filter.xml,需要配置設(shè)備的product-id 和vendor-id

剩下的就是java代碼,大概步驟包括:枚舉設(shè)備->找到設(shè)備的接口->連接設(shè)備->分配相應(yīng)的端點(diǎn)->在IN端點(diǎn)進(jìn)行讀操作,在OUT端點(diǎn)進(jìn)行寫操作。在此可以不做請(qǐng)求權(quán)限處理,因?yàn)橐鈭D過(guò)濾器已經(jīng)幫我們做了,若要進(jìn)行動(dòng)態(tài)請(qǐng)求權(quán)限的可以在此基礎(chǔ)上再做擴(kuò)展。

1)獲取USB管理器,若獲取失敗,return。

mUsbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE); if(mUsbManager == null) {

return;

}

2)枚舉Host上所有的HID設(shè)備,存入一個(gè)列表,若列表不為空,枚舉到設(shè)備,可以用getVendorId()和getProductId()方法獲取到設(shè)備的VendorId和ProductId,可繼續(xù)找設(shè)備的UsbInterface;若列表為空,未枚舉到設(shè)備。

HashMap deviceList = mUsbManager.getDeviceList();

if (!deviceList.isEmpty()) {

for (UsbDevice device : deviceList.values()) {

if(device.getVendorId() == VendorID && device.getProductId()==ProductID) {

mUsbDevice = device;

// 找到Device接口并分配相應(yīng)端點(diǎn)

findIntfAndEpt();

} else {

oast.makeText(context, "Not find VID and PID",Toast.LENGTH_SHORT).show();

}

}

} else {

new AlertDialog.Builder(context).setTitle("未枚舉到設(shè)備!")

.setMessage("請(qǐng)先連接設(shè)備,再重啟程序。。")

.setCancelable(false)

.setNeutralButton("確定", new DialogInterface.OnClickListener() {

public voidonClick(DialogInterface dialog, int which) {

//finish();

}

}).show();

}

到此為止,就可以發(fā)現(xiàn)你的HID外設(shè),后面的我們下次再說(shuō),主要流程還是:枚舉設(shè)備->找到設(shè)備的接口->連接設(shè)備->分配相應(yīng)的端點(diǎn)->在IN端點(diǎn)進(jìn)行讀操作,在OUT端點(diǎn)進(jìn)行寫操作。

上一篇:關(guān)于linux下的xinetd服務(wù)

下一篇:ViewPager介紹和使用說(shuō)明

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見(jiàn)科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部