美文网首页
Android7.0后文件访问的方式

Android7.0后文件访问的方式

作者: four_k | 来源:发表于2017-08-02 17:10 被阅读0次

android7.0后文件访问悄悄的改变形式,不能再以file://....的方式访问,而是以共享的方式content://....。

兼容的方式有两种

1、是在Application的onCreate方法里加入以下代码。

if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.N) {

StrictMode.VmPolicy.Builder builder =newStrictMode.VmPolicy.Builder();

StrictMode.setVmPolicy(builder.build());

builder.detectFileUriExposure();

}

不过个人觉得这种方式并不是解决问题的长久之计。

2、是谷歌推荐的解决方式。以共享文件的方式

首先在res目录下添加个xm目录并创建文件provider_paths.xml

provider_paths.xml的内容如下:

属性都要内容里有说明。

然后在AndroidManifest.xml注册我们组件,内容如下

接下来我们就可以直接使用的,没时间整理就先写死后缀了

Uriu = FileProvider.getUriForFile(this,getApplicationContext().getPackageName() +".provider",file);

调用相机和系统自带截图功能的时候一定要记得加上

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

否则就自己坑自己吧

相关文章

  • Android7.0后文件访问的方式

    android7.0后文件访问悄悄的改变形式,不能再以file://....的方式访问,而是以共享的方式conte...

  • app升级安装

    android7.0后文件的访问权限提高了,不能直接使用file://的方式来共享文件了,应该使用content:...

  • Android7.0以上版本打开附件失败问题

    简介:   Android7.0修改了文件权限,导致访问内部文件通过Uri.fromFile(file)构建URI...

  • Android 多个FileProvider冲突的问题

    Android7.0对文件的访问,框架使用StrictMode Api禁止我们的应用对外部(跨越应用分享)公开fi...

  • 2018-06-14

    在Python文件中打开文件: x=open(文件名,访问方式) 访问方式有: 'r' 只读(必须要现有文...

  • python操作基础知识

    在Python文件中打开文件: x=open(文件名,访问方式) 访问方式有: 'r' 只读(必须要现有文...

  • Android7.0权限适配

    谷歌在Android7.0(API 24)做了一些权限的更改,对用户私有目录或私有文件的访问和共享做了限制,具体可...

  • 2018-03-22代码工具整理系列

    拍照后通知相册更新: Android7.0访问本地目录FileProvider步骤 1.首先在res下创建xml资...

  • Android7.0以上通过FileProvider访问文件

    写在前面 虽然这个出来好久了,之前也一直没有遇到什么问题,但是最近在不同app中共享的时候还是出了问题,现在引用鸿...

  • Android7.0文件访问权限

    ## 背景 在Android N之后大家会发现一些奇奇怪怪的问题,这里也是自己在开发的时候遇到的,做一个记录: 情...

网友评论

      本文标题:Android7.0后文件访问的方式

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