这篇文章主要介绍了Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
需求解读
由于定制rom给用户具体需求如下:
- 入工厂测试app自动打开adb调试模式,退出就关闭,防止客户的用户安装其它应用(直接通过改变Settings.Global.ADB_ENABLED字段)
- 打开usbdebug不提示弹出框
- 禁止调试图标出现在通知状态栏
过程分析
通过字段关闭和开启usb调试模式
通过开启开发者模式最终发现开启或者关闭是改变如下字段:
Settings.Global.putInt(getContentResolver(),Settings.Global.ADB_ENABLED, 0);
打开USBdebug不弹框流程
当adb_enable为0时会关闭adb调试模式,为1是会有弹框提示点击确认时会默认打开usb调试模式;通过代码查找发现在frameworks\base\services\usb\java\com\android\server\usb\UsbDeviceManager.java中监听
发送消息handler消息
获取消息,进入如下方法
调取mDebuggingManager.setAdbEnabled(mAdbEnabled);目前就以ENABLED为例
收到消息创建线程:
监听
发送handler消息,得到相应的key
进一步调取
启动对应的activity,标记为对应的activity报名和类名
修改frameworks\base\packages\SystemUI\src\com\android\systemui\usb\UsbDebuggingActivity.java
屏蔽授权弹框
禁止通知状态栏usb显示
/device/rockchip/xxxx/system.prop 添加 字段persist.adb.notify=0
实现完成
总结
到此这篇关于Android user版通过adb_enable开启adb 调试 不提示对话框的文章就介绍到这了,更多相关android 开启adb 调试内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析


基础教程推荐
- 解决Android Studio突然不显示logcat日志的问题 2023-02-04
- Android多返回栈技术 2023-04-15
- android studio按钮监听的5种方法实例详解 2023-01-12
- Android开发使用RecyclerView添加点击事件实例详解 2023-06-15
- IOS应用内跳转系统设置相关界面的方法 2022-11-20
- iOS开发教程之XLForm的基本使用方法 2023-05-01
- Android中的webview监听每次URL变化实例 2023-01-23
- Flutter手势密码的实现示例(附demo) 2023-04-11
- IOS 播放系统提示音使用总结(AudioToolbox) 2023-03-01
- Flutter绘图组件之CustomPaint使用详解 2023-05-12