android 解決:默認(rèn)情況下用于該USB設(shè)備 自動獲取USB操作權(quán)限

很多android 的應(yīng)用在使用USB設(shè)備時(shí),總會遇到一個很煩人的問題。

即每次都會彈出對話框:


每次插入U(xiǎn)SB設(shè)備,都會彈出。每次選上默認(rèn)情況下使用該USB設(shè)備。但總還是會彈出。用戶體驗(yàn)很差。

似乎唯一的解決方法就是直接獲取Root權(quán)限,把App放入系統(tǒng)內(nèi)置應(yīng)用中,顯然很多情況下是無法實(shí)現(xiàn)的。

機(jī)緣巧合需要寫一個車載USB-GPS的解析器。其中用到USB-GPS。即每次必然彈出對話框,不勝其煩。

查了目前網(wǎng)上全部資料,幾乎都是無解。

比如這位仁兄:http://blog.csdn.net/hubbybob1/article/details/50263925

或者這位:https://www.crifan.com/android_try_to_auto_grant_usb_device_operation_permission/

百思不得解,直接解釋為無解?;蛘呓忉尀閍ndroid系統(tǒng)漏洞。查詢?nèi)繃赓Y料,似乎也沒有相關(guān)資料實(shí)現(xiàn)哦。

stackoverflow也是無解,https://stackoverflow.com/questions/12401027/how-can-i-suppress-the-usb-permissions-dialog

哈哈,來個自我自賣自夸。

機(jī)緣巧合下,多次嘗試,終于實(shí)現(xiàn)點(diǎn)擊默認(rèn)即自動獲得USB操作權(quán)限且不再彈出系統(tǒng)對話框。

廢話少說,直接上代碼:

第一步:聲明權(quán)限。相信大家都懂:


第二步:在res中新建xml文件夾,新建device_filter.xml


聲明:usb-device

其中vendor-id ? ?以及 ? product-id ? 那么這個vendor-id和?product-id如何獲取呢?

方法1:http://blog.csdn.net/u010661782/article/details/50749271

方法2:https://www.cnblogs.com/shanyou/archive/2012/11/05/2755957.html

其中product-id和vendor-id,在每款usb芯片組都是一樣的。即只要USB驅(qū)動不變。那product-id和vendor-id就是通用的。

其中vendor-id =?1659 ??product-id= 8963 為PL2303驅(qū)動的id號。為目前最常見USB驅(qū)動。臺灣產(chǎn)。

第三步:在application中聲明該xml文件。


以上操作后。即可實(shí)現(xiàn)點(diǎn)擊信任后。不再彈出系統(tǒng)對話框。自動獲得USB操作權(quán)限。

謝謝各位。

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

相關(guān)閱讀更多精彩內(nèi)容

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