Android绕过usb主机permision确认对话框framework修改方案
来源:互联网 发布:滨州大数据产业园 编辑:程序博客网 时间:2024/06/15 08:29
在Android平板上连接USB读卡器,每次启动应用程序时总是会出现USB权限确认对话框提示(如下图所示)。
即使点选“默认情况下用于该USB设备后”在设备重启后也会出现该权限提示,最后笔者通过修改Android Framework层的代码解决,解决方案的原理可以自行分析Android Framwork源码。
解决方案如下:
1. 修改
($ANDROID_PROJ)\frameworks\base\packages\SystemUI\src\com\android\systemui\usb\UsbPermissionActivity.Java,将onCreate(Bundle icicle)函数修改为以下代码。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
粗体中为修改点,这也是stackoverflow中提到的点,但是实测发现仅仅修改这不能达到目标。
2. 修改
($ANDROID_PROJ)\frameworks\base\services\java\com\android\server\usb\UsbSettingsManager.java,依次修改hasPermission(UsbDevice device)、hasPermission(UsbAccessory accessory)、checkPermission(UsbDevice device)、checkPermission(UsbAccessory accessory)、requestPermission(UsbDevice device, String packageName, PendingIntent pi)、requestPermission(UsbAccessory accessory, String packageName, PendingIntent pi)等6个函数,修改代码如下。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
修改完成后重新编译framework得到system,update固件就OK了。
都是做减法,所以是不是so easy,目前通过测试暂时未发现副作用,如果有问题欢迎交流。
- Android绕过usb主机permision确认对话框framework修改方案
- Android绕过usb主机permision确认对话框framework修改方案
- 绕过android usb主机permision确认对话框
- 三行代码去Android USB ADB调试确认对话框
- android 确认对话框实例
- android 确认对话框实例
- android 确认对话框
- Android弹出 确认对话框
- android 输入对话框 确认对话框
- Android 权限use-permision
- Android USB 主机模式
- Android USB 主机模式
- Android USB 主机模式
- Android USB 主机模式
- Android实现“退出确认”对话框
- Android 对话框封装(确认/取消 )
- Android USB Host(Android USB 主机通讯)
- Android USB Host(Android USB 主机通讯)
- OpenGL编程指南6:顶点数组
- poj 2606 Rabbit hunt
- oracle数据库创建表空间,创建用户,给用户授权
- js 跨域问题解决方案
- CI1.4 字符串空格替换
- Android绕过usb主机permision确认对话框framework修改方案
- [Leetcode] Binary Tree Level Order Traversal & Binary Tree Zigzag Level Order Traversal
- JZOJ5006. A
- Spring 注解
- 射频识别技术漫谈(11)——Mifare系列卡的共性
- dragger2的入门基础
- 扫雷实用帖:HBase读延迟的12种优化套
- JS内置对象
- 《中山大学内部选拔(一)》 游戏