7.0的适配,就是敌手机存储中的私有文件路径的保护,当体系发明你经由过程intent带走了一个uri,地址是本地的文件,就会限制的。其他的道理普及请搜刮其他文┞仿吧,此处略。
下面贴一下应用步调和我的对象类。
一、须要修改当前module的AndroidManifest.xml文件,添加provider标签,映射路径。
- <android:supportsRtl="true">
- <provider
- android:name="android.support.v4.content.FileProvider"
- android:authorities="${applicationId}.myFileProvider"
- android:exported="false"
- android:grantUriPermissions="true">
- <meta-data
- android:name="android.support.FILE_PROVIDER_PATHS"
- android:resource="@xml/path_file" />
后来测试发明,安装apk的时刻,只有膳绫擎的授权是不可的,还得加上intent.addFlag的方法再次授权才行。
文中红色部分是固定写法,官网就是这么说的,别乱试了。android:resource标签的值是main/res/xml/path_file.xml文件,即在 res下新建xml文件夹,再新建一个xml文件。
二、在res/xml下新建一个path_file.xml文件,文件名随便去,然则与上步调一致即可。
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <paths>
- <!--
- <files-path/>代表的根目次: Context.getFilesDir()
- <cache-path/>代表的根目次: getCacheDir()
- <external-path/>代表的根目次: Environment.getExternalStorageDirectory()
- <external-files-path/>代表的根目次: Context.getExternalFilesDir(String) Context.getExternalFilesDir(null).
- <external-cache-path />代表的根目次: Context.getExternalCacheDir().
- <root-path />代表设备的根目次new File("/");
- -->
- <!-- path=""代表根目次,也可以指定特定目次,name="camera_picture"是虚拟目次camera_picture -->
- <root-path name="root" path="" />
- <files-path name="files" path="" />
- <cache-path name="cache" path="" />
- <external-path name="external" path=
推荐阅读
比来评论辩论云原生应用越来越多,其是指原生为在云平台上安排运行而设计开辟的应用。公平的说,大年夜多半传统的应用,不做任何修改,都是可以在云平台运行起来的,只要云平台支撑这个传>>>详细阅读
本文标题:Android 7.0动态权限大总结
地址:http://www.17bianji.com/lsqh/36701.html
1/2 1