安卓7.0遇到 android.os.FileUriExposedException
程序员文章站
2022-04-15 22:14:36
...
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>
补充:若项目中引用了图片选择库,可能也会引用到此provider,就需要在meta-data标签中添加
tools:replace="android:resource",然后就可以了。
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什么时候发布?微信7.0好看以及强提醒功能使用介绍
-
索尼Xperia Z4平板电脑开升安卓7.0:新增分屏多任务功能
-
记录修改安卓5.0系统浏览器UI遇到的部分问题
-
史上最大升级 安卓微信7.0新版对比旧版详细体验
-
使用NDKr9c编译安卓项目并打包时遇到的问题及解决办法
-
微信推出7.0安卓测试版 安卓用户下载即可提前尝鲜
-
安卓VLC编译遇到的问题及解决办法
-
安卓使用BottomNavigationView遇到Error inflating class android.support.design.widget.BottomNavigationview
-
Fiddler 抓取安卓7.0以上HTTPS抓包
-
微信7.0安卓内测版官方开放下载:新功能都在这了