在 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" />
分享到:
相关推荐
安卓机型强制开启USB调试工具 有些机型没有开启usb调试。进入系统后无法开启的状态下可以使用这个工具尝试开启 。资源测试大多数机型可以强制开启 需要的友友下载使用
Android应用自动更新代码实现,完美实现代码的自动更新。
AndroidUSB调试驱动,ADB调试找不到驱动的直接用它,手动选择安装即可
很多android开发者都是在模拟器上运行、调试程序,突然接触到真机反而不知道怎么使用真机调试,也许知道可以用USB连接进行调试,但不知道具体如何设置,也有的开发者完全不知道可以利用真机进行USB调试,这里指新手...
usb调试android系统指令使用usb调试android设备,必须先安装android sdk,然后电脑cmd后,通过adb工具操作android。
在全志的Android8.1系统上打开usb camera。具体的配置以及验证,以及一些常用的分析方法。
android usb转串口数据通信示例(源代码) android usb转串口数据通信示例。物联网开发中也会经常用到usb转串口,对android手机进行通信。一般都会用otc线进行转换。我在GitHub下来一份代码,亲测可用。并进行了修改...
9种方法实现Android的反调试并有详细的代码实现。包括动态和静态反调试。对于不同的方法给出了优缺点,可以选择合适的自己的反调试手段 只有知道反调试是怎么实现的才能更好的过反调试,Android逆向必备
支持2.1以上的android版本,可以把里面的APK下载到真机上测试,可以做到和系统的GPS开关同步控制,源码是在LINUX下编译的,因为android2.1把修改GPS开关的代码HIDE了,所以在2.1window平台下是编译不了。但是APK直接...
android 代码实现shape GradientDrawable
串口 调试 工具 Android代码 虚拟串口。 串口调试精灵、友善串口助手、Android串口调试代码、虚拟串口工具。
android实现自动关机的具体方法代码.doc.docx
Android Studio开发的串口调试助手源码,支持串口扫描、字符串和十六进数据制显示和发送等功能。
之前发过一个仅能在windows上使用,现在实现了跨平台
Android代码实现布局
Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业。Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业。Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业。...
android studio 利用SharedPreferences实现自动登录(可以自己选择记住密码和直接登录)
本文档实现了java层和native层的反调试手段 对于学习Android安卓逆向和安全的人来说有非常大的借鉴意义 里面附有详细的实现代码
本文主要介绍Android 电话自动录音功能的开发,这里提供实现代码和实现效果图,有需要的小伙伴可以参考下
WechatHelper 是用Kotlin语言编写的,利用Android无障碍服务来自动化一些繁琐的重复操作,可以理解成Android 版本的按键精灵,其实就是点点点,本项目仅用于技术研究学习之用,请勿用于商业用途,所以项目不会做任何...