【发布时间】:2016-03-25 02:42:44
【问题描述】:
我对使用 android.support.v4.content.FileProvider 时的权限生命周期感到好奇。 FileProvider 的文档说:
将 android:grantUriPermissions 属性设置为 true,以允许您授予对文件的临时访问权限。
和
在 Intent 中授予的权限在接收 Activity 的堆栈处于活动状态时仍然有效。堆栈完成后,权限将自动删除。授予客户端应用中一个 Activity 的权限会自动扩展到该应用的其他组件。
但另一方面,providers 的文档说:
如果您通过将此属性设置为“true”或通过定义子元素来启用此功能,则必须在从提供程序中删除覆盖的 URI 时调用 Context.revokeUriPermission()。
问题是:什么是“接收Activity的堆栈”?是回栈(历史)吗?如果不是,那么我应该何时撤销许可(或系统何时会关心)?
【问题讨论】:
-
stack is back stack。在provider中删除覆盖的Uri时需要撤销权限。
标签: android