Android中的权限存储在哪里?

Posted

技术标签:

【中文标题】Android中的权限存储在哪里?【英文标题】:Where is permissions in Android stored? 【发布时间】:2017-06-28 15:03:00 【问题描述】:

开发者文档:Requesting Permissions at Run Time 清楚地提到了运行时权限是什么以及如何使用它。我也可以执行它们。

但是,问题是:Android 将运行时权限值存储在哪里?

即,当用户删除与应用关联的数据时,权限会被重置,那么 android 将这些值存储在哪里? (它是在应用程序缓存中还是在任何其他地方)。并以什么格式? (它是数据库还是共享首选项文件或任何其他文件)它们是如何存储的? (加密或非加密)。

在许多现有答案和开发人员文档中进行了搜索,但在这方面找不到任何有用的信息。任何帮助将不胜感激。

【问题讨论】:

想要达到什么目的?权限被设计为由操作系统管理,您可以选择请求和检查它们。 根据这个线程,它们存储在 RAM 中。 groups.google.com/forum/#!topic/android-platform/oD33RVVUBB8 【参考方案1】:

我不确定你是否找到了答案,但它们存储在:

/data/system/users/0/runtime-permissions.xml

当系统重置或创建新用户时,系统还会使用系统应用权限填充此内容以自动授予它们。我一直在尝试研究如何自动授予系统应用权限。

更多详情请查看this答案。

【讨论】:

以上是关于Android中的权限存储在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

android系统怎样设置内部存储的访问权限

android Q sdcard权限详解

Android 6.0 读写SD卡权限问题

【Android笔记】Android 9.0 SD卡读写权限问题

firestore在Android的哪里存储缓存?

Android在哪里保存授予所有应用程序的权限信息