首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android :以编程方式撤销权限

问Android :以编程方式撤销权限
EN

Stack Overflow用户
提问于 2015-07-21 09:21:49
回答 5查看 15.9K关注 0票数 29

我目前正在玩android m的新许可系统。我的计划是添加一个屏幕到我的应用程序中的设置,用户可以授予或撤销权限。

屏幕看起来就像常规的系统设置屏幕,但会有更多的信息,为什么我的应用程序需要特定的权限。此设置屏幕将添加到常规权限处理中,如文档中所建议的那样。

工作流程如下:

所以我的问题是,权限可以通过程序撤销吗?我找了很多次,但没有得到一些结果。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-07-21 13:07:09

你什么也做不了(至少到现在为止是这样)。此外,没有任何意图行动来打开你的应用程序的活动系统设置。我的建议是在开发人员预览问题跟踪器上打开一个“功能请求”。

票数 15
EN

Stack Overflow用户

发布于 2015-09-20 19:29:01

您可以撤销亚行壳牌的权限。如果您考虑编写shell脚本并以编程方式执行所有这些操作,那么是的,否则不会。

授予和撤销权限

您可以使用新的亚行包管理器(pm)命令授予和撤销已安装的应用程序的权限。此功能可用于自动测试。

若要授予权限,请使用包管理器的授予命令:

代码语言:javascript
复制
$ adb shell pm grant <package_name> <permission_name>

例如,要授予com.example.myapp包录制音频的权限,请使用以下命令:

代码语言:javascript
复制
 $ adb shell pm grant com.example.myapp android.permission.RECORD_AUDIO

若要撤消权限,请使用包管理器的revoke命令:

代码语言:javascript
复制
 $ adb shell pm revoke <package_name> <permission_name>
票数 12
EN

Stack Overflow用户

发布于 2022-09-20 04:00:30

启动API 33 (Android13),您可以通过撤消以前授予的运行时权限 API编程实现revokeSelfPermissionOnKill。例如。

代码语言:javascript
复制
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
   context.revokeSelfPermissionOnKill(Manifest.permission.POST_NOTIFICATIONS)
}

触发运行时权限的异步撤销。如果当前未授予权限,则不会发生任何事情(即使稍后由用户授予)。

还有一个函数,它使用多个权限的集合来撤销。

请确保还设置了一个版本代码保护,因为目前IDE中似乎没有警告。不幸的是,这还没有添加到ContextCompat中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31535088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档