首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对非SAF内容的持久权限

对非SAF内容的持久权限
EN

Stack Overflow用户
提问于 2017-05-10 10:21:46
回答 1查看 196关注 0票数 1

在我的应用程序中,我想存储Dropbox (以及其他内容提供商)提供的内容的持久读取权限。Android应用程序不支持存储访问框架( Storage ),因此为了能够选择不能使用ACTION_OPEN_DOCUMENT的内容,我需要使用ACTION_GET_CONTENT。

但是,某些内容提供程序(如驱动器)似乎不返回通过ACTION_GET_CONTENT返回的URI的持久权限。我相信这和预期的一样,因为GET_CONTENT URI不应该是持久的。不幸的是,我确实需要在重新启动的过程中坚持引用。

如果内容提供者不支持SAF,那么似乎无法在最近的API版本中获得对URI的持久权限。这是真的吗?什么是好的解决办法?

不好的(对于我的用例)解决方法是:复制内容并在本地存储,依赖于规范中没有的实现细节(例如,GET_CONTENT返回的Dropbox实际上是可持续的),或者不保存权限。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-10 11:23:59

如果内容提供者不支持SAF,那么似乎无法在最近的API版本中获得对URI的持久权限。这是真的吗?

基于我的实验是的。更准确地说,根据框架提供的内容,只有从Uri中获得的DocumentsProvider值才有可能具有持久的权限。我看不出普通的ContentProvider怎么能提供这种服务。

什么是好的解决办法?

考虑到您的“坏”解决方案列表,您最好的解决方法是使用一些特定于Dropbox的API来允许用户选择内容,如果Dropbox提供的话,您可以在一段时间内访问它。

在“坏”的解决方案中,复制内容是一种可能的选择--调整您的UI,告诉用户您正在“导入”内容,以帮助表明它确实是一个副本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43889722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档