FileUriExposedException: file:///storage/emulated/0/001/1612321465868.mp4 exposed beyond app through
我在调用系统相机的时候报错
private void openCamera() {Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);if (intent.resolveActivity(getPackageManager()) != null) {startActivityForResult(intent,takeCameraCode);}}
当你只是直接调用系统相机的时候是没问题的,如果你要设定指定存储路径,那么就有可能报这个错了,如何设置指定路径呢,如下
private void openCamera() {String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/001/" + System.currentTimeMillis() + ".mp4";Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);Uri uri = Uri.fromFile(new File(path));intent.putExtra(MediaStore.EXTRA_OUTPUT,getUriForFile(this,new File(path)));if (intent.resolveActivity(getPackageManager()) != null) {startActivityForResult(intent,takeCameraCode);}}
这个时候提示报这个错,这个错是由于缺少一个外部路径的设置,导致存储失败的,解决方案:
首选你需要创建一个file_paths.xml文件
file_path.xml
<?xml version="1.0" encoding="utf-8"?>
<resources><paths><external-path name="camera_photos" path="" /></paths>
</resources>
然后在你的manifest文件里面添加设置
<providerandroid:name="androidx.core.content.FileProvider"android:authorities="${applicationId}.fileprovider"android:exported="false"android:grantUriPermissions="true"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/file_paths" /></provider>
最后,当然你的权限不可少
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.CAMERA"/>
如此即可解决了,希望可以帮到大家
注:在添加provider的时候一定要仔细,例如包名啊,fileprovider是否正确,细心细心在细心
附上我的代码系统相机录制视频
FileUriExposedException: file:///storage/emulated/0/001/1612321465868.mp4 exposed beyond app through相关推荐
- Android打开相机,报出 android.os.FileUriExposedException: file:///storage/emulated/0/test/img.jpg exposed
执行以下代码后,打开相机 //调用相机自带的照相功能 指定图片目录 if (Environment.getExternalStorageState().endsWith(Environment.MED ...
- android.os.FileUriExposedException: file:///storage/emulated/0/pictures/1564739776566.jpg exposed be
问题: 原因:Android N(对应sdk24)(版本7.0)及以上对访问文件权限收回,按照Android N的要求,若要在应用间共享文件,您应发送一项 content://URI,并授予 URI ...
- Android7.0解决 android.os.FileUriExposedException: file:///storage/emulated/0/
解决Android N文件访问crash android.os.FileUriExposedException file:///storage/emulated/0/xxx 原因: Android N ...
- 解决 Android N 上报错:android.os.FileUriExposedException: file:///storage/emulated/0/
解决android N文件访问crash android.os.FileUriExposedException file:///storage/emulated/0/xxx 原因: Android N ...
- FileUriExposedException: file:///storage/emulated/0/Android/data/com.skyrin.bingo/cache/app/app.apk
安卓在app更新的时候file parseuri 报错FileuriExposedException:.................exposed beyond app through Inten ...
- android os FileUriExposedException file storage emulated 0 test tx
错误出现原因: 在Android版本7.0以上,应用之间文件访问权限修改. 解决办法: 我们需要使用FileProvider允许其他应用访问本应用创建的文件或文件夹,首先需要创建继承android.s ...
- android.os.FileUriExposedException: file:///storage/emulated/0/myxmpp/154094
在项目的MainActivity的开始添加下面这段代码 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {StrictMode.VmPol ...
- android.os.FileUriExposedException: file:///storage/emulated/0/myimage/15115
复制的https://blog.csdn.net/qq_33210042/article/details/78626701 管用!已收藏 //取消严格模式 FileProvider if (Build ...
- 安卓开发拍照时闪退遇到问题: file:///storage/emulated/0/0.jpg exposed beyond app through ClipData.Item.getUri()
问题描述: 打开摄像头拍照时程序闪退,错误提示如下: android.os.FileUriExposedException: file:///storage/emulated/0/RadioDirec ...
最新文章
- 如何快捷高效实现仓储精细化、透明化管理?
- arm linux中添加开机启动
- Github上Pandas,Numpy和 Scipy三个库中20个最常用的函数
- 应用DIV+CSS编码时容易犯的一些错误
- ImportError: module ‘pip‘ has no attribute ‘main‘
- PostgreSQL 10.1 手册_部分 III. 服务器管理_第 32 章 回归测试_32.5. 测试覆盖检查
- C#学习笔记二(函数高级参数)
- 从近期两篇论文看大规模商品图嵌入
- sorted set 数据类型的应用场景
- Matlab仿真炮弹飞行轨迹——探究射弹参数对飞行轨迹的影响
- python中ans的用法_python cx_Oracle基础使用方法
- 【软件体系结构】重用的粒度的定义
- ubuntu20.04安装qq音乐并解决闪退问题
- 手工修复Win 7下彩影ARP防火墙驱动程序(适用于32/64位系统)
- tensorflow实战之手写体识别
- 51采集温度电压电流+LCD1602显示
- 令你极度舒适的Swift集合类高阶函数
- 2017年10月19日 第十次总结
- VS2010 C++ 操作Excel表格的编程实现(OLE/COM)
- BUUCTF:[0CTF 2016]piapiapia