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

时间:2015-10-24 05:05:39

标签: android permissions uri multi-user

在我的应用中,我选择了一个包含Intent.ACTION_OPEN_DOCUMENT_TREE的文件夹并获取所选文件夹的Uri。我致电takePersistableUriPermission()授予选定Uri的读/写权限

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

我在Note4上测试过,在更改用户后仍然可以使用它们。但是我不确定其他设备,我也没有找到关于这个问题的任何文件。

1 个答案:

答案 0 :(得分:2)

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

在支持多个用户配置文件的设备上,例如许多平板电脑,Android for Work或运行Marshmallow的手机,每个用户完全相互沙盒化,在其用户配置文件上运行安装的每个应用的单独实例。在这些情况下,基于URI的权限当然只适用于应用程序运行的用户,而不适用于其他用户配置文件。