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

[java] view plain copy
  1. Settings.Secure.putInt(getContentResolver(),Settings.Secure.ADB_ENABLED,0);

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

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


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


[java] view plain copy
  1. voidobserve(){
  2. ContentResolverresolver=mContext.getContentResolver();
  3. resolver.registerContentObserver(Settings.Secure.getUriFor(
  4. Settings.Secure.ADB_ENABLED),false,this);
  5. update();
  6. }
  7. @OverridepublicvoidonChange(booleanselfChange){
  8. update();
  9. }
  10. publicvoidupdate(){
  11. ContentResolverresolver=mContext.getContentResolver();
  12. mAdbEnabled=Settings.Secure.getInt(resolver,
  13. Settings.Secure.ADB_ENABLED,0)!=0;
  14. updateAdbNotification();
  15. }


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

[java] view plain copy
  1. booleanenableAdb=(Settings.Secure.getInt(getContentResolver(),Settings.Secure.ADB_ENABLED,0)>0);
  2. if(!enableAdb){
  3. Settings.Secure.putInt(getContentResolver(),Settings.Secure.ADB_ENABLED,1);
  4. }


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

/system/app下。

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

[html] view plain copy
  1. <uses-permissionandroid:name="android.permission.WRITE_SETTINGS"></uses-permission>
  2. <uses-permissionandroid:name="android.permission.WRITE_SECURE_SETTINGS"/>

更多相关文章

  1. Android调用系统应用程序
  2. android典型代码系列(一)------android调试
  3. android执行外部程序,类似DELPHI里的EXEC函数
  4. Android 动画框架代码分析
  5. Android 7.0 app代码修改抓包
  6. android延续按两次返回退出程序(完整代码)
  7. Android 实现在Java代码中修改UI界面,并修改界面
  8. JS调用Java代码(Android)
  9. 【Android】Android Layout Binder——根据layout布局文件自动生

随机推荐

  1. Android中数据存储的几种方法
  2. 安卓环境搭建
  3. Android(安卓)视频和音频采集
  4. Android_开发 实用滚轮效果选择数字(十三)
  5. Android开发:观察者模式应用实例
  6. Android用户界面UI组件--AdapterView及其
  7. 转:Android实现矩形设置菜单
  8. android 常见布局及控件的属性详解
  9. Android 中文 SDK (49) ―― Filter.Filter
  10. Android 之修改主题theme(系统自带样式总