执行以下代码后,打开相机

//调用相机自带的照相功能 指定图片目录
if (Environment.getExternalStorageState().endsWith(Environment.MEDIA_MOUNTED)) {imgFile=new File(Environment.getExternalStorageDirectory(), "/test/img.jpg");
}
if (!imgFile.exists()) {imgFile.getParentFile().mkdirs();
}
Uri uri=Uri.fromFile(imgFile);
Intent intent2=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//启动自带的照相功能
intent2.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent2, 2);

报错以下

android.os.FileUriExposedException: file:///storage/emulated/0/test/img.jpg exposed beyond app through ClipData.Item.getUri()
        at android.os.StrictMode.onFileUriExposed(StrictMode.java:1978)
        at android.net.Uri.checkFileUriExposed(Uri.java:2371)
        at android.content.ClipData.prepareToLeaveProcess(ClipData.java:963)
        at android.content.Intent.prepareToLeaveProcess(Intent.java:10252)
        at android.content.Intent.prepareToLeaveProcess(Intent.java:10237)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1669)
        at android.app.Activity.startActivityForResult(Activity.java:4651)

原因是Android studio的SDK版本太高,

targetSdkVersion 32
compileSdkVersion 32
buildToolsVersion "32.0.0"

当targetSdkVersion 32改成23就可以打开相机,此时Android的版本是Android6

到了把targetSdkVersion 23改成24就开始报错,变成Android7

解决方式

在方法onCreate(){}里面创建四行代码,代码里面执行查询异常

StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();//严格模式,虚拟机政策,构建器StrictMode.setVmPolicy(builder.build());if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {//构建器SDK版本大于或等于构建器代码版本builder.detectFileUriExposure();//构建器就侦察出FileUriExposure}

参考来源:android android.os.fileuriexposedexception,解决android.os.FileUriExposedException: file:///storage/emu..._冯宣的博客-CSDN博客今天在使用Android7.0手机升级app的时出现了该问题,然后上StackOverFlow查了一下,找到了几种方法,推荐使用第二种,简单快捷The app crashes when trying to open a file. It work below Android N, but on Android N it crashes. It only crashes when I try to ...https://blog.csdn.net/weixin_26907201/article/details/117578247?spm=1001.2014.3001.5506

Android打开相机,报出 android.os.FileUriExposedException: file:///storage/emulated/0/test/img.jpg exposed相关推荐

  1. android.os.FileUriExposedException: file:///storage/emulated/0/pictures/1564739776566.jpg exposed be

    问题: 原因:Android N(对应sdk24)(版本7.0)及以上对访问文件权限收回,按照Android N的要求,若要在应用间共享文件,您应发送一项 content://URI,并授予 URI ...

  2. Android7.0解决 android.os.FileUriExposedException: file:///storage/emulated/0/

    解决Android N文件访问crash android.os.FileUriExposedException file:///storage/emulated/0/xxx 原因: Android N ...

  3. 解决 Android N 上报错:android.os.FileUriExposedException: file:///storage/emulated/0/

    解决android N文件访问crash android.os.FileUriExposedException file:///storage/emulated/0/xxx 原因: Android N ...

  4. android os FileUriExposedException file storage emulated 0 test tx

    错误出现原因: 在Android版本7.0以上,应用之间文件访问权限修改. 解决办法: 我们需要使用FileProvider允许其他应用访问本应用创建的文件或文件夹,首先需要创建继承android.s ...

  5. FileUriExposedException: file:///storage/emulated/0/001/1612321465868.mp4 exposed beyond app through

    我在调用系统相机的时候报错 private void openCamera() {Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE) ...

  6. android.os.FileUriExposedException: file:///storage/emulated/0/myxmpp/154094

    在项目的MainActivity的开始添加下面这段代码 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {StrictMode.VmPol ...

  7. android.os.FileUriExposedException: file:///storage/emulated/0/myimage/15115

    复制的https://blog.csdn.net/qq_33210042/article/details/78626701 管用!已收藏 //取消严格模式 FileProvider if (Build ...

  8. FileUriExposedException: file:///storage/emulated/0/Android/data/com.skyrin.bingo/cache/app/app.apk

    安卓在app更新的时候file parseuri 报错FileuriExposedException:.................exposed beyond app through Inten ...

  9. 安卓开发拍照时闪退遇到问题: file:///storage/emulated/0/0.jpg exposed beyond app through ClipData.Item.getUri()

    问题描述: 打开摄像头拍照时程序闪退,错误提示如下: android.os.FileUriExposedException: file:///storage/emulated/0/RadioDirec ...

最新文章

  1. (区间dp 或 记忆化搜素 )Brackets -- POJ -- 2955
  2. vue源码-对于「计算属性」的理解
  3. (转)细说Cookie
  4. 五、规则组织的衍生组织——纬山形组织数学模型的建立
  5. CS106A编程方法学二
  6. egg风格 什么意思_egg裙什么意思
  7. typora 有道云笔记_有道云—目前最好用的免费笔记
  8. Google亲儿子 Nexus/Pixel 手机刷机Root之旅
  9. u盘读写速度变慢了开始快后面特别慢卡顿解决方法
  10. 多语言国家与缩写映射表
  11. axure中继器求和_Axure案例:用中继器做一个2级折叠菜单
  12. 全国计算机三级网络技术题,全国计算机三级网络技术大题技巧
  13. 阿里云1核1G内存1M宽带支持多少IP访问量够用吗?
  14. Gradle build.gradle配置
  15. ae打开模板显示不出来_打开AE模板提示缺少rsmb pro插件的解决办法
  16. python自动读取短信_自动化测试-自动获取手机短信验证码
  17. selenium用jquery改变元素属性
  18. Coins(多重背包方案可行性dp + 优化)
  19. AndroidStudio实现相机拍照或从相册中选取照片并显示
  20. ip组播,IGMP协议,PIM协议

热门文章

  1. socket返回值为0的问题
  2. 追踪掠食者:地下灰产如何撸死创业公司?
  3. 「专升本信息技术」计算机基础知识习题(2)
  4. IntelliJ Idea热门插件
  5. webservice25--基于契约优先开发用户管理小功能--异常处理
  6. 从51.com到开心 10大即将被遗忘的web“部落”
  7. 【教学类-33-01】20230417食物交换卡片1.0版(6、8、10、12以内的随机数量+绘画+等量交换)(中班:偏科学-数)
  8. win10 | 频繁死机 鼠标键盘无响应: 尝试恢复 删掉的服务
  9. 【数字信号去噪】基于matlab粒子群算法优化VMD分解分量选择数字信号降噪【含Matlab源码 1979期】
  10. java使用xquery_java – 简单的命令行xquery