您现在的位置是:首页 > 科技 > 正文

因为它对许多Android应用程序的存储访问产生了巨大影响

发布时间:2022-05-25 03:10:01编辑:来源:

Google试图通过“范围存储”来控制应用程序存储失控的情况。ScopedStorage在Android10中引入,但自首次亮相以来已进行了多次更改,因为它对许多Android应用程序的存储访问产生了巨大影响。Google针对目标API级别30(这是与Android11一致的最新API级别)的应用强制实施范围存储。

这是Google的“Android11中的万物隐私”演讲的图形,而不是试图再次重新解释范围存储,而是总结了范围存储将如何影响Android11中应用程序的存储访问。

迄今为止,对存储访问的最有趣的变化之一就是引入了一种新的“破坏”机制。Google的“使用Android11进行存储访问”视频中详细介绍了此功能。本质上,使用MediaStoreAPI的应用程序可以删除文件而不是删除文件,以使用户有机会稍后恢复文件。Google将此功能比作PC上的回收站,但默认情况下未隐藏Android的回收站。Google声明,具有对已删除文件的编辑权限或要求用户同意的应用可以显示回收站中的项目。30天后,Android会自动删除已垃圾回收的项目。

Android11还要求在修改应用程序不拥有的媒体文件之前,必须先征得用户的同意。已添加的另一个新功能是“收藏夹”,该功能允许媒体应用程序将“收藏夹”文件状态添加到指定的媒体项目,以便其他媒体应用程序知道用户认为这些项目很重要。例如,如果用户在图库应用程序中为项目加注星标,则其他媒体应用程序可以看到该项目已被收藏。

尽管Google的演讲没有显示MediaStore的新垃圾桶概念的示例,但自第一个Android11DeveloperPreview以来,该API一直可用。开发人员YuriyMysochenko于2月在Medium上发表了一篇文章,介绍了这个新API,他在示例应用程序中演示了该API,如下所示:

在此演示中,该应用程序询问用户是否要将照片移至垃圾桶,这会暂时将照片从画廊中删除。7天后,照片将从存储中永久删除。GooglerRoxannaAliabadi提到该操作系统将垃圾项目存储了30天,因此自首次开发者预览版以来,7天的存储限制很可能增加了。

有兴趣实现此API的开发人员可以立即在AndroidDevelopers网站上查看文档。媒体应用程序可以创建一个名为createTrashRequest的PendingIntent,以提示用户删除项目,然后添加标记IS_TRASHED指示媒体项目已被删除。操作系统将保留被破坏的项目,直到DATE_EXPIRES为止,之后将其从存储中永久删除。查询MediaStore的媒体应用程序必须使用QUERY_ARG_MATCH_TRASHED显式查询垃圾邮件,因为默认情况下,垃圾邮件会从操作中过滤掉。

标签:

上一篇
下一篇

最新文章