《Android 基础(四十七)》FileProvider

简介

FileProvider,是ContentProvider的子类,通过构建以”content://”开头的Uri取代之前以”file://”开头的Uri,以此实现应用间的文件共享。

由来

官文Android7.0行为变更说明:

对于面向 Android 7.0 的应用,Android 框架执行的 StrictMode API 政策禁止在应用外部公开 file:// URI。如果一项包含文件 URI 的 intent 离开您的应用,则应用出现故障,并出现 FileUriExposedException 异常。

要在应用间共享文件,需要改用content:// 格式的URI,并授予 URI 临时访问权限。
实现此类操作最简单的方法就是使用FileProvider。

使用方式

定义FileProvider

FileProvider本身就能根据file生成content:// Uri,所以我们并没有必要去写一个单独的FileProvider子类。但是在某些情况下,我们可以简单的继承FileProvider,修改类名来实现与FileProvider在名字上的区分,毕竟在AndroidManifest.xml中,名字相同的provider是不被允许的。

AndroidManifest.xml中申明FileProvider

你可能感兴趣的:(Android,基础知识,呱呱Android基础,Android基础)