打开Android手机的USB调试对于使用豌豆夹、调试程序等来说很重要。下面说说如何用代码自动打开USB调试。先分析USB调试的相关源代码。

在 packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java 找到关于 USB Debug Enable 的代码:

Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_ENABLED,  0 );  

此文件中,将根据用户设置将其值保存到 Settings 数据库中。别处将根据其值动态变化做出相应动作

经搜索,在 frameworks/base/services/java/com/android/server/NotificationManagerService.java 中存在利用该值判断是否在状态栏中进行通知。代码如下:

别处将根据其值动态变化做出相应动作如状态栏消息提示。

void  observe() {
ContentResolver resolver = mContext.getContentResolver();
resolver.registerContentObserver(Settings.Secure.getUriFor(
Settings.Secure.ADB_ENABLED), false ,  this );
update();
}
@Override   public   void  onChange( boolean  selfChange) {
update();
}
public   void  update() {
ContentResolver resolver = mContext.getContentResolver();
mAdbEnabled = Settings.Secure.getInt(resolver,
Settings.Secure.ADB_ENABLED, 0 ) !=  0 ;
updateAdbNotification();
}  

通过分析代码,我们可以实现用程序自动打开usb调试了。

boolean enableAdb = (Settings.Secure.getInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0) > 0);
if (!enableAdb) {
Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 1);
}

马上进行运行,会出现异常,通过Logcat可以看到没有权限。android.permission.WRITE_SECURE_SETTINGS是不允许普通程序来执行,必须要有系统的签名或放到

/system/app下。

(1)、在AndroidManifest.xml加上两个权限

<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

可以把程序push到/system/app,并对这个apk加上0644的权限,重启手机,可以发现usb调试自动打开了。

用Android代码实现自动打开USB调试相关推荐

  1. 开机自动打开USB调试模式和配置android为USB OTA模式

    每次启动android系统之后都要在设置那里手动启动打开usb调试模式,太麻烦了. 于是修改了init.rc 文件和default.prop文件实现开机自动打开USB调试模式和配置android为US ...

  2. android 代码打开usb调试,Android手机USB调试在哪?安卓手机如何打开USB调试模式?...

    Android手机USB调试在哪?安卓手机如何打开USB调试模式?如果我们要将安卓手机连接到电脑上,从而传输文件.下载应用或ROOT等,都需要打开手机的USB调试模式.安卓系统的版本有很多,它们的打开 ...

  3. android 4.0.4 usb调试,安卓手机4.0怎么打开usb调试?图文详解附视频

    安卓手机更新换代的太快,系统每次升级多少会有点不同 总会有那么点不适应,就连如何调试USB都不知道怎么设置了? 下面就来就讲讲目前主流品牌手机4.0手机USB调试. 大部分Android设备打开&qu ...

  4. android手机怎样开启usb调试模式,Android手机USB调试在哪?安卓手机如何打开USB调试模式?...

    Android手机USB调试在哪?安卓手机如何打开USB调试模式?如果我们要将安卓手机连接到电脑上,从而传输文件.下载应用或ROOT等,都需要打开手机的USB调试模式.安卓系统的版本有很多,它们的打开 ...

  5. 小米3连续快速点击android版本四次后出现屏幕是红的咋耨,小米3怎么打开usb调试...

    小米3怎么打开usb调试 安卓手机要连接电脑,就必须开启USB调试模式,而通常手机默认是关闭USB调试模式的,这导致了不少用户无法成功将手机连接电脑,另外一些搭载安卓4.1以上系统的手机,开启USB调 ...

  6. android usb设置在哪,手机usb调试在哪,小编教你安卓手机怎么打开USB调试

    作为Android手机,如果我们需要将手机连接电脑传输文件.下载安装应用软件.备份文件甚至ROOT等,都需要打开手机的USB调试.可是每个手机的USB调试的位置和打开的方式都有所不同,不过最底层的An ...

  7. 安卓android怎么打开方式,安卓手机USB调试在哪 安卓手机怎么打开USB调试

    作为Android手机,如果我们需要将手机连接电脑传输文件.下载安装应用软件.备份文件甚至ROOT等,都需要打开手机的USB调试.可是每个手机的USB调试的位置和打开的方式都有所不同,不过最底层的An ...

  8. android调试usb连接电脑连接电脑连接电脑连接电脑连接,vivo iqoo怎么连接电脑 vivo iqoo打开usb调试连接电脑方法...

    iqoo既可以作为独立的储存设备,也可以连接其他智能产品作为传输设备.今天小编要和大家聊的是iqoo怎么连接电脑,和电脑之间进行文件传输和交换.如果您还不知道操作步骤的话那就让小编来告诉您吧! viv ...

  9. vivox9usb调试Android,vivo X9S Plus的usb调试模式在哪里,打开vivo X9S Plususb调试模式的步骤...

    经常我们使用安卓手机通过数据线连接到电脑的时候,如果手机没有开启USB调试模式,电脑则没法成功识别我们的手机,部分软件也没法正常使用,这时候我们需要找方法将手机的USB调试模式打开,本文我们介绍viv ...

最新文章

  1. 去重查询_《前端算法系列》数组去重
  2. 如何设置采购收货直接转到供应商库存?
  3. AI 应届生就业意向大搜查,哪家企业才是大家的心仪首选?
  4. c语言的指针和java_C语言指针变量的定义和使用(精华)
  5. 使用c语言读写netcdf文件,[原][c][netcdf]读取函数
  6. Head First设计模式读书笔记二 观察者模式
  7. linux定时删除文件指令,Linux实践——定时删除目录下面的文件
  8. vSphere Web Client使用指南之安装配置
  9. Delphi通过MSHTML实现一个HTML解析类
  10. Eclipse注释快捷键、如何生成API以及可能遇到的问题解决
  11. 最好的git教程,没有之一
  12. 【JS】网页自动连点器,选取网页元素连续点击
  13. [zz]明月虽好by 王大根 from 豆瓣
  14. 百度网盘下载速度太慢,有什么办法可以提高下载速度?
  15. 中医针灸学综合练习题库【7】
  16. 新闻分类实战-贝叶斯
  17. 使用Easy Excel导入数据,性别为男女,数据库值为0、1
  18. spring bean的实例化
  19. 设计类计算机主机要求,术业有专攻,设计师就该配台专业点的电脑
  20. 仙剑5手游服务器维护,《仙剑奇侠传》手游维护内容官方解答

热门文章

  1. Ubuntu 几种常见乱码解决方法
  2. Element-UI实现Tree 树形控件节点添加图标
  3. Twitter游戏出海洞察白皮书,2022游戏出海应该做什么?
  4. 投篮机投篮有技巧吗_电玩城投篮机玩法技巧
  5. 最短路径 Dijkstra算法
  6. Linux之journalctl查看系统与kernel日志
  7. 瑞芯微RV1126使用官方sdk进行音频编码
  8. 同步和异步、阻塞和非阻塞之间的关系以及同步阻塞、同步非阻塞、异步阻塞、异步非阻塞的含义
  9. 2021年中国期货公司经营现状及交易规模分析[图]
  10. 响铃:两年,百度云从黑马成为一方霸主