有很多问题和答案如何使用新的API> = 19权限模型,但我一直想知道相反的情况 - 我应该如何从已授予内容提供商的内容提供商处读取文件内容我的应用程序的读/写权限和设备因某种原因重新启动?
Android文档says:
ACTION_OPEN_DOCUMENT
并非旨在替代ACTION_GET_CONTENT
。你应该使用的那个取决于需要 你的应用:如果您希望自己的应用只需阅读/导入,请使用
ACTION_GET_CONTENT
数据。通过这种方法,应用程序可以导入数据的副本,例如 图像文件。如果您希望自己的应用拥有,请使用
ACTION_OPEN_DOCUMENT
对文档拥有的文档的长期持久访问 供应商。一个例子是一个允许用户编辑的照片编辑应用程序 存储在文档提供程序中的图像。
好的,所以我在API 16上运行了一个照片编辑应用程序,我可以选择访问(写入)此文件吗?要求用户每次想要继续工作时都要导航到图库似乎很奇怪,不是吗?出于同样的原因,在应用程序的私人文件夹中制作副本似乎不是一个好主意(想想大图片/视频......)
答案 0 :(得分:3)
在API 19和引入ACTION_OPEN_DOCUMENT之前,没有机制可以在重新启动后持久访问URI - 这就是引入API的确切原因。
如果您想在同一项目上允许多个编辑会话,您必须在自己的存储空间中制作副本。