当前位置: 代码迷 >> Android >> takePersistableUriPermission()是否可用于多用户?
  详细解决方案

takePersistableUriPermission()是否可用于多用户?

热度:13   发布时间:2023-08-04 11:37:32.0

在我的应用中,我使用Intent.ACTION_OPEN_DOCUMENT_TREE选择一个文件夹,并获取所选择文件夹的Uri 我调用takePersistableUriPermission() 授予对选定Uri 读/写权限

我的问题是:它对我的设备中的多个用户有效吗? 例如:我使用Google帐户1登录,安装应用程序,选择一个文件夹并授予权限。 然后,我删除Google帐户1并使用Google帐户2登录。是否仍授予Uri权限?

我在Note4上进行了测试,更改用户后仍会授予它们。 但是我不确定其他设备,也没有找到有关此问题的任何文档。

持久的基于URI的权限与程序包名称(和用户ID-参见下文)相关联,而不与任何Google或其他帐户系统相关。 这意味着只要仍然安装该软件包,它将保留该许可(当然,除非授予应用将其撤消)。

在支持多个用户配置文件的设备(例如许多平板电脑,Android for Work或运行棉花糖的电话)上,每个用户彼此之间都是完全沙盒化的,并在其用户配置文件上运行每个应用程序的单独实例。 在这些情况下,基于URI的权限当然仅适用于应用程序在其下运行的用户,而不适用于其他用户配置文件。