在我的应用中,我选择了一个包含Intent.ACTION_OPEN_DOCUMENT_TREE
的文件夹并获取所选文件夹的Uri
。我致电takePersistableUriPermission()
为授予选定Uri
的读/写权限。
我的问题是:它适用于我的设备中的多用户吗? 例如: 我使用Google帐户1登录,安装应用程序,选择文件夹并授予权限。 然后,我删除Google帐户1并使用Google帐户2登录。是否仍授予Uri权限?
我在Note4上测试过,在更改用户后仍然可以使用它们。但是我不确定其他设备,我也没有找到关于这个问题的任何文件。
答案 0 :(得分:2)
基于持久URI的权限与包名称(和用户ID - 见下文)相关联,而不是任何类型的Google或其他帐户系统。这意味着只要程序包仍然安装,它将保留权限(当然,除非授予应用程序撤消它)。
在支持多个用户配置文件的设备上,例如许多平板电脑,Android for Work或运行Marshmallow的手机,每个用户完全相互沙盒化,在其用户配置文件上运行安装的每个应用的单独实例。在这些情况下,基于URI的权限当然只适用于应用程序运行的用户,而不适用于其他用户配置文件。