FileProvider 使用

概念

对第三方应用暴露文件,并授予文件读写操作的权限。

示例:

一个应用下载应用安装包,下载完成后,需要调用系统的手动安装功能,就需要对系统暴露这个文件的下载路径。如果直接使用早期的api产生的uri路径传递给系统安装应用,出现解析失败。

解决办法:

AndroidManifest.xml的<application/>节点添加如下

<provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${application_id}.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" />
        </provider>

这里有个配置文件访问路径的文件file_paths
代码如下:

    <external-path
        name="download_path"
        path="/Download/Android/data/${application_id}/files/apk" /> // 这个是应用下载路径
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容