2017-04-01 回答

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

在 packages/apps/settings/src/com/android/settings/developmentsettings.java 找到关于 usb debug enable 的代码:

[java] view plain copy

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. adb native raact 夜神_如何用第三方Android模拟器调试react-native?

    一.前言 昨天立了flag今天要更新,哪怕再晚也要写,不能自己打脸不是. 言归正传,同学们在看今天这篇之前,请先阅读我昨天的文章:react-native环境配置 确保已经成功地在Android St ...

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

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

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

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

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

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

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

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

  7. usb协议规范_你想了解的USB知识,都在这里了!

    作为电脑必备接口,USB堪称万能接口. 可是你的USB接口是2.0还是3.0? 支不支持快速充电? 你的USB Type C接口除了传输文件和给手机充电,是否支持显示.给电脑充电.外接扩展坞? 这些题 ...

  8. 用python开启相机_如何用Python打开realsenseD435相机并获取相机参数

    如何用Python打开realsenseD435相机 import pyrealsense2 as rs import numpy as np import cv2 if __name__ == &q ...

  9. ad打开ddb文件_如何用AD10打开DDB文件

    如何用AD10打开DDB文件 用AD算起来差不多有4年了,记得第一次用它还是10年的夏天,很热,连吹2个风扇都扛不住,然后大晚上的第一回接触画板子的软件,当时用的是99.当时用的也是WIN7.99这个 ...

  10. python打开excel表_如何用python打开excel

    最近看到好几次群里有人问xlwt.wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用of ...

最新文章

  1. python多进程存储数据_Python 多进程及进程间通信
  2. CTF web题总结--unserizable
  3. 山西万荣盛装迎新春 首届群众文化艺术节启幕
  4. jaxb 命名空间_在JAXB解组期间应用名称空间
  5. windows 2008 R2远程桌面无法本地复制文件到远程解决
  6. java 重量单位换算_用java创建一个可以换算长度单位的length类,将某种长度单位进行数值间的转换。...
  7. android View.getWidth() 和View.getHeight()返回0
  8. Unsafe in Java
  9. access数据库指定日期查询
  10. 【SpringBoot_ANNOTATIONS】生命周期 04 BeanPostProcessor 后置处理器
  11. Fragstats 提示错误与警告
  12. 什么是社会融资规模,M0、M1、M2?
  13. 2021年中国百香果果汁进出口贸易分析:贸易逆差明显,越南是主要进口国[图]
  14. PS1应用之——修改linux终端命令行各字体颜色
  15. 如何用数据说话-《数据化决策(美)道格拉斯·W.哈伯德》笔记与心得
  16. 在金融科技的诸多技术领域,目前最引人瞩目的当属区块链
  17. VR开发-罗德里格公式的研究
  18. 软件调试系列:软件崩溃篇之内存异常崩溃
  19. 项目1----泰戈尔诗集
  20. 工业智能网关BL110应用之60:如何实现智能楼宇控制BACnet 接入阿里云平台

热门文章

  1. 好用的scrum敏捷开发工具有哪些?推荐3个scrum项目管理工具
  2. QQ互联登陆(Java)
  3. python语言的多行注释以什么开头_python实现多行注释的方法
  4. JavaScript——反转链表
  5. MySQL分页查询效率
  6. IDEA配置JDK版本
  7. rs485的1:n计算机连接和n:n的主从plc通讯,富士人机界面与GE90-70 PLC N:1通讯在轧钢生产线的应用...
  8. matlab插值:拉格朗日插值
  9. linux 的截屏软件下载,Linux 截屏软件 Shutter
  10. js原生touch事件实现微信语音按住录音,上滑取消。