美文网首页
android 解决:默认情况下用于该USB设备 自动获取USB

android 解决:默认情况下用于该USB设备 自动获取USB

作者: Veryed | 来源:发表于2018-03-13 10:50 被阅读0次

很多android 的应用在使用USB设备时,总会遇到一个很烦人的问题。

即每次都会弹出对话框:

每次插入USB设备,都会弹出。每次选上默认情况下使用该USB设备。但总还是会弹出。用户体验很差。

似乎唯一的解决方法就是直接获取Root权限,把App放入系统内置应用中,显然很多情况下是无法实现的。

机缘巧合需要写一个车载USB-GPS的解析器。其中用到USB-GPS。即每次必然弹出对话框,不胜其烦。

查了目前网上全部资料,几乎都是无解。

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

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

百思不得解,直接解释为无解。或者解释为android系统漏洞。查询全部国外资料,似乎也没有相关资料实现哦。

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

哈哈,来个自我自卖自夸。

机缘巧合下,多次尝试,终于实现点击默认即自动获得USB操作权限且不再弹出系统对话框。

废话少说,直接上代码:

第一步:声明权限。相信大家都懂:

第二步:在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驱动不变。那product-id和vendor-id就是通用的。

其中vendor-id = 1659   product-id= 8963 为PL2303驱动的id号。为目前最常见USB驱动。台湾产。

第三步:在application中声明该xml文件。

以上操作后。即可实现点击信任后。不再弹出系统对话框。自动获得USB操作权限。

谢谢各位。

相关文章

网友评论

      本文标题:android 解决:默认情况下用于该USB设备 自动获取USB

      本文链接:https://www.haomeiwen.com/subject/kksdlttx.html