Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android takePersistableUriPermission()是否适用于多用户?_Android_Permissions_Uri_Multi User - Fatal编程技术网

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

Android takePersistableUriPermission()是否适用于多用户?,android,permissions,uri,multi-user,Android,Permissions,Uri,Multi User,在我的应用程序中,我选择了一个带有Intent.ACTION\u OPEN\u DOCUMENT\u TREE的文件夹,并获取所选文件夹的Uri。我调用takePersistableUriPermission()为选定的Uri授予读/写权限 我的问题是:它是否适用于我设备中的多用户? 例如: 我使用Google帐户1登录,安装应用程序,选择文件夹并授予权限。 然后我删除Google帐户1并使用Google帐户2登录。Uri权限是否仍被授予 我在Note4上进行了测试,在更改用户后,它们仍然被授予

在我的应用程序中,我选择了一个带有
Intent.ACTION\u OPEN\u DOCUMENT\u TREE
的文件夹,并获取所选文件夹的
Uri
。我调用
takePersistableUriPermission()
为选定的
Uri
授予读/写权限

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


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

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


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

非常感谢!我现在明白了!