Android Storage Access Framework 使用方法简介

  • Post author:
  • Post category:其他







Android Storage Access Framework(SAF), 是Android 4.4版本(API 19)开始引入的,它可以很方便的让用户浏览、打开设备上的文件以及浏览最近使用过的文件列表。而且SAF不仅可以让用户查看本地存储的文件,也可以使用户查看网络上的文件,同时它还可以查看临时存储设备上的文件:一旦成功插入一个USB储存设备,我们就可以浏览它上面的文件。因此SAF可以很方便的让我们的应用实现文件浏览以及进行常见文件操作。


如下图所示:










一般来说,Storage Access Framework总体上分为以下三个部分:


  1. Document Provider:文件提供者。它是一个提供文件信息给SAF的Content Provider。可以包括本地的文件也可以包括网络上的文件,只要它们实现类DocumentsProvider,并且把文件信息作为服务提供出去即可。Android平台也有内置的一些实现了这个类的Content Provider,比如下载的内容,存储的图片,存储的视频等等。

  2. Client App:这个就是使用SAF的应用,一般就是我们自己写的应用。比如你写了一个图片编辑App,要用到SAF来浏览图片,那么这个图片编辑App就是Client App。

  3. Picker:选择器。其实就是你打开SAF后的界面,它可以选择你需要浏览或者操作的文件,当然指定不同的参数,这个选择器可能展示的内容不同,但是展示的内容都来自于Document Provider提供的数据。


下面我们来看一下如何在我们的App中使用SAF:这里定义了四个操作:s



版权声明:本文为ypz_ghost原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。