android 默认勾选权限_android 解决:默认情况下用于该USB设备 自动获取USB操作权限...

很多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操作权限。

谢谢各位。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值