安卓7.0遇到 android.os.FileUriExposedException: file:///storage/emulated.. exposed beyond app through In

Posted ∠角络

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓7.0遇到 android.os.FileUriExposedException: file:///storage/emulated.. exposed beyond app through In相关的知识,希望对你有一定的参考价值。

1、在androidManifest.xml中添加如下代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    <application
        ...
        <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${applicationId}.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths"/>
        </provider>
    </application>
</manifest>

2、在res目录下新建一个xml文件夹,并且新建一个provider_paths的xml文件

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

3、修改代码

Uri photoURI = Uri.fromFile(createImageFile());

变成:

Uri photoURI = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".provider", createImageFile());

 

以上是关于安卓7.0遇到 android.os.FileUriExposedException: file:///storage/emulated.. exposed beyond app through In的主要内容,如果未能解决你的问题,请参考以下文章

一行代码实现安卓照片选取上传服务器,并适配安卓7.0无法调起相机的问题

unity发布安卓遇到的问题

安卓7.0没有无线adb

Nexus 4迎来安卓7.0 CM14:真的能用!

怎样把安卓系统升级到7.0

安卓7.0及以上系统如何抓取Https的包