网上电玩城捕鱼

网上电玩城捕鱼

电玩城捕鱼双倍咋的的 Settings.Secure.ADB_ENABLED

作者:apefpi 发布时间:2019-08-07 06:14

翻开Android手机的USB调试关于运用豌豆夹、调试程序等来说很沉要。下面说说若何用代码主动翻开USB调试。先分析USB调试的相闭源代码。

正在 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" />

能够把程序push到/system/app,并对这个apk加上0644的权限,沉启手机,能够发明usb调试主动翻开了。