Enable USB debugging (under settings/applications/development) programmatically from within an app

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-17 20:06:38

问题


Is it possible to enable USB debugging (under settings/applications/development) programmatically from within my app?

I was looking at Permission.WRITE_SETTINGS and http://developer.android.com/reference/android/provider/Settings.System.html, but I couldn't find anything appropriate.


回答1:


You will need root permissions to do so from an app.

That said, it is possible to enable ADB by executing the following terminal commands:

setprop persist.service.adb.enable 1
start adbd

This blog post gives an excellent example of how to execute these commands with escalated permissions through su.




回答2:


First: Your app must be a system app

This line of code may help:

Settings.Global.putInt(getContentResolver(), Global.ADB_ENABLED, 1);

and you need this permission:

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>

but after adding this permission in manifest you will get this error: Permission is only granted to system apps

which means your app must be a system app.




回答3:


It's not possible without using your own custom firmware that grants access to the security settings. See thread here: http://groups.google.com/group/android-developers/browse_frm/thread/953c6f0eb0fa9bed#




回答4:


You can enable adb programmatically by requesting WRITE_SECURE_SETTINGS in manifest and granting it over adb shell:

adb shell pm grant your.package.name android.permission.WRITE_SECURE_SETTINGS

Then you can enable adb on API 17 and above by calling:

Settings.Global.putString(mContext.getContentResolver, Settings.Global.ADB_ENABLED,"1");

For API 16 to API 3 call:

Settings.Secure.putString(mContext.getContentResolver, Settings.Secure.ADB_ENABLED,"1");

To disable adb replace "1" with "0" in commands



来源:https://stackoverflow.com/questions/3458275/enable-usb-debugging-under-settings-applications-development-programmatically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!