Android M: Programmatically revoke permissions

ぃ、小莉子 提交于 2019-11-30 07:58:03

问题


I am currently playing around with android m's new permission system. What i am planning is to add a screen to my in-app settings where the user can grant or revoke permissions.

The screen would look like the regular system settings screen, but will have additional information why my app needs the specific permission. This settings screen would be an addition to the regular permission handling as suggested in the Documentation.

The workflow would be:

  • granting permission: open the systems dialog to grant/revoke (like suggested here)
  • revoking permission: revoke it programmatically

So my question is, can permissions be revoked programatically? I searched a lot, but didn't manage to get some results.


回答1:


You can't do anything (at least until now). In addition, there isn't any intent action to open the activity system settings for your app. My suggestion is to open a "feature request" on the developer preview issue tracker.




回答2:


You can revoke permission from ADB Shell. if you consider writing shell script and doing all this under programatically then YES, else NO

Grant and revoke permissions

You can use new ADB package manager (pm) commands to grant and revoke permissions to an installed app. This functionality can be useful for automated testing.

To grant a permission, use the package manager's grant command:

$ adb shell pm grant <package_name> <permission_name>

For example, to grant the com.example.myapp package permission to record audio, use this command:

 $ adb shell pm grant com.example.myapp android.permission.RECORD_AUDIO

To revoke a permission, use the package manager's revoke command:

 $ adb shell pm revoke <package_name> <permission_name>



回答3:


No Programmatically it is not possible in Android M Preview with new permissions Model.

But Manually you can do as given. revoke permissions manually




回答4:


for some special permission like SYSTEM_ALERT_WINDOW. you need this :

adb shell appops set <package_name> SYSTEM_ALERT_WINDOW allow


来源:https://stackoverflow.com/questions/31535088/android-m-programmatically-revoke-permissions

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