服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

2022-12-15 14:34飘飘如叶 Android

这篇文章主要介绍了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调试模式;通过代码查找发现在frameworksaseservicesusbjavacomandroidserverusbUsbDeviceManager.java中监听

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

发送消息handler消息

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

获取消息,进入如下方法

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

调取mDebuggingManager.setAdbEnabled(mAdbEnabled);目前就以ENABLED为例

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

收到消息创建线程:

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

监听

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

发送handler消息,得到相应的key

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

进一步调取

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

启动对应的activity,标记为对应的activity报名和类名

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

修改frameworksasepackagesSystemUIsrccomandroidsystemuiusbUsbDebuggingActivity.java
屏蔽授权弹框

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

禁止通知状态栏usb显示

/device/rockchip/xxxx/system.prop 添加 字段persist.adb.notify=0
实现完成

总结

到此这篇关于Android user版通过adb_enable开启adb 调试 不提示对话框的文章就介绍到这了,更多相关android 开启adb 调试内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_34541276/article/details/105832735

延伸 · 阅读

精彩推荐