美文网首页Android 开发工具
Android 7.0 provider属性说明

Android 7.0 provider属性说明

作者: galafan | 来源:发表于2018-07-18 23:54 被阅读0次

2018-07-18

生命不息,奋斗不止,万事起于忽微,量变引起质变 -------- Hongyang

1.注册一个provider

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

2.编写resource xml file

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <root-path name="root" path="" />
    <files-path name="files" path="" />
    <cache-path name="cache" path="" />
    <external-path name="external" path="" />
    <external-files-path name="name" path="path" />
     <external-cache-path name="name" path="path" />
</paths>

3.name代表什么
而 name 属性用于给 path 属性所指定的子目录名称取一个别名。后续生成 content:// URI 时,会使用这个别名代替真实目录名。这样做的目的,很显然是为了提高安全性
4.path是什么意思
path 属性用于指定当前子元素所代表目录下需要共享的子目录名称。注意:path 属性值不能使用具体的独立文件名,只能是目录名。

意味着路径下的全部文件
  <external-cache-path name="name" path="." />

5.在paths节点内部支持以下几个子节点,分别为:

1.<root-path/> 代表设备的根目录new File("/");
2.<files-path/> 代表context.getFilesDir()
3.<cache-path/> 代表context.getCacheDir()
4.<external-path/> 代表Environment.getExternalStorageDirectory()
5.<external-files-path>代表context.getExternalFilesDirs()
6.<external-cache-path>代表getExternalCacheDirs()

摘自: Hongyang

Android 7.0 行为变更 通过FileProvider在应用间共享文件吧

image

相关文章

网友评论

    本文标题:Android 7.0 provider属性说明

    本文链接:https://www.haomeiwen.com/subject/sjfzpftx.html