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

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

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

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

[java] view plain copy

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调试了。

[java] view plain copy

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加上两个权限

[html] view plain copy

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

adb 切换usb模式_利用adb命令打开usb调试相关推荐

  1. adb 切换usb模式_如何利用adb开启手机USB调试?

    Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_ENABLED,  0 ); 此文件中,将根据用户设置将其值保存到 S ...

  2. android系统应用开发_利用ADB工具免root停用Android系统应用

    最近迷上了安卓的开发,写篇冻结app的教程吧. 主要是实现,免root冻结系统中的某些应用,你懂得哈哈 利用ADB工具免root停用Android系统应用 - Hanada​hanada.info 上 ...

  3. python中adb连接手机_Python脚本利用adb进行手机控制的方法

    如何使用python脚本调用adb shell里面的命令 python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回 ...

  4. 如何让开关打开_安卓手机如何打开USB调试模式

    点击上方"手机互联" 关注我吧!什么是USB调试模式?USB调试模式是 安卓手机提供的一个用于开发工作的功能.使用该功能可在设备和安卓手机之间复制数据.在移动设备上安装应用程序.读 ...

  5. adb 禁止app联网_通过ADB启用和禁用系统应用

    无论该应用程序是系统应用程序还是第三方应用程序(已安装用户),它都应该起作用. 请参阅" 确定应用程序的程序包名称"以获取相关应用程序的程序包名称,并使用adb shell执行以下 ...

  6. adb冲突 傲软_关于adb冲突导致无法连接(Win10系统)

    我们软件如果与其他软件存在adb程序冲突的话,就会导致连接失败.一般如果发生冲突时,我们软件的adb程序不会启动,或者启动了但是会不断重启或闪烁.在确保我们软件正在运行的前提之下,请按以下步骤进行操作 ...

  7. java 用于xcopy复制_利用xcopy命令实现本地文件复制到远程服务器的方法

    利用xcopy命令实现本地文件复制到远程服务器的方法 更新时间:2013年05月08日 10:52:36   作者: 把本地文件复制到远程服务器:用Xcopy命令可以做到,具体实现如下,感兴趣的朋友可 ...

  8. 华为matepad切换电脑模式_华为matepadpro可以当电脑用吗,华为matepad pro怎么切换电脑模式...

    华为matepad pro是一款性能强大的平板,那么这款平板可以当电脑使用吗,如果可以又是如何切换电脑模式呢?现在就有小编来为大家介绍一下如何切换电脑模式吧. 一.华为matepadpro可以当电脑用 ...

  9. miui7 usb计算机连接网络,miui7怎么打开usb调试功能?小米miui7 usb调试模式开启方法图解...

    usb调试是我们经常使用一个功能,手机与电脑连接没有反应,可能就是因为usb调试功能没有打开的原因,很多朋友在升级miui7之后都没有找到这个功能接口,所以都很疑惑小米miui7 usb调试在哪里?如 ...

  10. upan启动写入usb驱动_为什么创建可启动USB驱动器比创建可启动CD更复杂?

    upan启动写入usb驱动 Creating bootable CDs and DVDs tends to be a simple, straightforward process, but why ...

最新文章

  1. 华为云大数据存储的冗余方式是三副本_大数据入门:HDFS数据副本存放策略
  2. python写文件读文件-Python 实例:读写文件
  3. MyBatis框架——mybatis插入数据返回主键(mysql、oracle)
  4. cass块参照怎么改颜色,【干货】新版本CASS符号颜色自定义详解
  5. leetcode337. 打家劫舍 III
  6. __attribute__机制介绍
  7. 使用.NET Core进行Linux编程3:简介和第2章
  8. Tomcat session集群
  9. JMeter详细使用手册
  10. linux wgei目录,近 100 个 Linux 常用命令大全
  11. ARM汇编 BIC和ORR指令
  12. 最新WIN10系统封装教程2019系列(七)——封装
  13. nas服务器用户无访问权限,群晖NAS文件权限管理和账户的权限
  14. python二级练习和考试复习(分别格式化输出0.002178对应的科学表示法形式)
  15. 93、R语言教程详解
  16. make sure you have the 32 bits oracle client installed
  17. 如何批量在图片上加统一的文字?
  18. mysql mooc_爬取MOOC课程(1)
  19. 什么是弱人工智能强人工智能超人工智能
  20. Qt之撤销命令视图的使用(QUndoView)

热门文章

  1. phpspider 的简单使用
  2. 【小技巧】如何将PPT的图保持高分辨率导入到Word中
  3. arcgis字段计算器赋值_ArcGIS中62个常用应用技巧汇总【必须收藏】
  4. 小程序与云开发实战 36 讲
  5. 深度学习——反向传播(Backpropagation)
  6. MySQL 分页查询
  7. 判断丑数python_263. 丑数(Python)
  8. python常用模块之os
  9. 怎么打开优酷的kux格式?教你把kux转换成mp4的方法
  10. 世界各国Google域名后缀对照表