讓Android記住得到的權(quán)限

AndroidManifest.xmlactivity部分加入:

 <intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
 </intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/usb_device_filter" />

<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/usb_device_filter" />

并且在application之上,加入:

<uses-permission android:name="android.permission.MANAGE_USB" />

新建res/xml/usb_device_filter.xml,并加入:

<?xml version="1.0" encoding="utf-8"?>

<resources>
    <usb-device vendor-id="7208" product-id="49170" />
</resources>

其中,vendor-id和product-id可以用如下方法獲取,都是10進制的。

如何獲取外置USB設(shè)備的vendor-id和product-id

adb shell
cat /sys/kernel/debug/usb/devices

會看到:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1c28 ProdID=c012 Rev= 0.00
S:  Manufacturer=PMDtec 
S:  Product=FX3
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

其中的Vendor=1c28 ProdID=c012就是我們需要的。它們是16進制的。
把16進制轉(zhuǎn)換成10進制:

hex 1c28 => dec 7208
hex c012 => dec 49170
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容