adb 切换usb模式_如何用adb打开usb调试
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调试相关推荐
- adb 切换usb模式_如何利用adb开启手机USB调试?
Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0 ); 此文件中,将根据用户设置将其值保存到 S ...
- adb native raact 夜神_如何用第三方Android模拟器调试react-native?
一.前言 昨天立了flag今天要更新,哪怕再晚也要写,不能自己打脸不是. 言归正传,同学们在看今天这篇之前,请先阅读我昨天的文章:react-native环境配置 确保已经成功地在Android St ...
- 如何让开关打开_安卓手机如何打开USB调试模式
点击上方"手机互联" 关注我吧!什么是USB调试模式?USB调试模式是 安卓手机提供的一个用于开发工作的功能.使用该功能可在设备和安卓手机之间复制数据.在移动设备上安装应用程序.读 ...
- 华为matepad切换电脑模式_华为matepadpro可以当电脑用吗,华为matepad pro怎么切换电脑模式...
华为matepad pro是一款性能强大的平板,那么这款平板可以当电脑使用吗,如果可以又是如何切换电脑模式呢?现在就有小编来为大家介绍一下如何切换电脑模式吧. 一.华为matepadpro可以当电脑用 ...
- miui7 usb计算机连接网络,miui7怎么打开usb调试功能?小米miui7 usb调试模式开启方法图解...
usb调试是我们经常使用一个功能,手机与电脑连接没有反应,可能就是因为usb调试功能没有打开的原因,很多朋友在升级miui7之后都没有找到这个功能接口,所以都很疑惑小米miui7 usb调试在哪里?如 ...
- upan启动写入usb驱动_为什么创建可启动USB驱动器比创建可启动CD更复杂?
upan启动写入usb驱动 Creating bootable CDs and DVDs tends to be a simple, straightforward process, but why ...
- usb协议规范_你想了解的USB知识,都在这里了!
作为电脑必备接口,USB堪称万能接口. 可是你的USB接口是2.0还是3.0? 支不支持快速充电? 你的USB Type C接口除了传输文件和给手机充电,是否支持显示.给电脑充电.外接扩展坞? 这些题 ...
- 用python开启相机_如何用Python打开realsenseD435相机并获取相机参数
如何用Python打开realsenseD435相机 import pyrealsense2 as rs import numpy as np import cv2 if __name__ == &q ...
- ad打开ddb文件_如何用AD10打开DDB文件
如何用AD10打开DDB文件 用AD算起来差不多有4年了,记得第一次用它还是10年的夏天,很热,连吹2个风扇都扛不住,然后大晚上的第一回接触画板子的软件,当时用的是99.当时用的也是WIN7.99这个 ...
- python打开excel表_如何用python打开excel
最近看到好几次群里有人问xlwt.wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用of ...
最新文章
- python多进程存储数据_Python 多进程及进程间通信
- CTF web题总结--unserizable
- 山西万荣盛装迎新春 首届群众文化艺术节启幕
- jaxb 命名空间_在JAXB解组期间应用名称空间
- windows 2008 R2远程桌面无法本地复制文件到远程解决
- java 重量单位换算_用java创建一个可以换算长度单位的length类,将某种长度单位进行数值间的转换。...
- android View.getWidth() 和View.getHeight()返回0
- Unsafe in Java
- access数据库指定日期查询
- 【SpringBoot_ANNOTATIONS】生命周期 04 BeanPostProcessor 后置处理器
- Fragstats 提示错误与警告
- 什么是社会融资规模,M0、M1、M2?
- 2021年中国百香果果汁进出口贸易分析:贸易逆差明显,越南是主要进口国[图]
- PS1应用之——修改linux终端命令行各字体颜色
- 如何用数据说话-《数据化决策(美)道格拉斯·W.哈伯德》笔记与心得
- 在金融科技的诸多技术领域,目前最引人瞩目的当属区块链
- VR开发-罗德里格公式的研究
- 软件调试系列:软件崩溃篇之内存异常崩溃
- 项目1----泰戈尔诗集
- 工业智能网关BL110应用之60:如何实现智能楼宇控制BACnet 接入阿里云平台
热门文章
- 好用的scrum敏捷开发工具有哪些?推荐3个scrum项目管理工具
- QQ互联登陆(Java)
- python语言的多行注释以什么开头_python实现多行注释的方法
- JavaScript——反转链表
- MySQL分页查询效率
- IDEA配置JDK版本
- rs485的1:n计算机连接和n:n的主从plc通讯,富士人机界面与GE90-70 PLC N:1通讯在轧钢生产线的应用...
- matlab插值:拉格朗日插值
- linux 的截屏软件下载,Linux 截屏软件 Shutter
- js原生touch事件实现微信语音按住录音,上滑取消。