转载自:https://blog.csdn.net/yinxing2008/article/details/82792582

背景:

在安卓7.0手机上,调用系统相机拍照,结果出现闪退。

原因:

Android7.0中为了提高私有文件的安全性,禁止向你的应用外公开 file:// URI。 如果一项包含文件 file:// URI类型 的 Intent 离开你的应用,应用失败,并出现 FileUriExposedException 异常。

解决方案:

    public void openCamera() {Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);imageUri = getImageUri();intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);startActivityForResult(intent, PHOTO_REQUEST_CAMERA);}public Uri getImageUri() {File file = new File(Environment.getExternalStorageDirectory(), "/temp/" + System.currentTimeMillis() + ".jpg");if (!file.getParentFile().exists()) {file.getParentFile().mkdirs();}String path = file.getPath();if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {imageUri = Uri.fromFile(file);} else {//兼容android7.0 使用共享文件的形式ContentValues contentValues = new ContentValues(1);contentValues.put(MediaStore.Images.Media.DATA, path);imageUri = this.getApplication().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);}return imageUri;}

Android 调用相机闪退问题相关推荐

  1. android调用c闪退未看到log,解决:Android开发 看不到崩溃的日志

    前言 应用当前界面崩溃停留在上个页面,看不到崩溃日志 Android的logcat控制台,看不到应用崩溃的日志? 如何拦截到未捕获的异常,并打印出来,帮助我们快速定位到代码问题呢? 最近同事跟我反应说 ...

  2. 解决Xamarin Android SDK Manager闪退问题

    解决Xamarin Android SDK Manager闪退问题 SDK Manager闪退是因为它找不到java.exe导致的.SDK Manager默认是通过读取注册表中JDK安装信息来java ...

  3. android 调用相机拍照。适配到 Android 10

    Photograph 项目地址:donkingliang/Photograph 简介: android 调用相机拍照.适配到 Android 10 更多:作者   提 Bug 标签: android ...

  4. Android调用相机与相册的方法

    Android调用相机与相册的方法 操作流程 点击拍摄 效果图 点击相册选择 效果图 拒绝权限的情况 效果图 功能实现 项目配置 1.先在项目根目录的build.gradle的repositories ...

  5. Android调用相机,录像,相册

    Android调用相机,录像,相册 调用相机 录像的调用 相册 我们在安卓开发过程中,可能会遇到需要用到照片的情况,今天就说一下如何使用相机,相册这些系统软件的调用方法 调用相机 首先我们将权限添加 ...

  6. android录音程序闪退,【报Bug】调用录音时,app闪退了

    今天在华为nova 4e 型号MAR-AL00 安卓9版本测试, 调用录音api时,app闪退了,但是在小米手机测试,不会出现,使用的老模板模式编译模式,代码如下: 语音描述(录音时长最大为10分钟) ...

  7. android authtype=1,【报Bug】plus.screen.lockOrientation在android里引起闪退

    代码逻辑如下: 1,在未登录状态下,通过其他接口的状态码判断登录状态,在初次未登录状态下跳转登录页(reLaunch跳转VUE页面) skipSp(x){ if(this.loginStatus == ...

  8. android 杜绝崩溃闪退处理

    当APP主线程抛出异常时就会导致APP crash,可能是由于view点击时抛出了异常等等,像这种异常我们更希望即使点击没反应也不要crash,用户顶多会认为是点了没反应,或者认为是本来就不可以点击, ...

  9. Mac Eclipse上Android SDK manager闪退的问题!!

    最近想自学一下Android,也没啥人指导,安装的过程中就花了一整天....安装完ADT,安装完SDK,所有步骤都照着网上来,可是一打开SDK manager就闪退!网上所有方法都找了,可是几乎全是w ...

最新文章

  1. vuex基础到模块化
  2. 【bzoj3524】【Poi2014】【Couriers】可持久化线段树(主席树)水题
  3. Linux进程状态解析 之 R、S、D、T、Z、X (主要有三个状态)
  4. 概率机器人总结——(扩展)卡尔曼滤波先实践再推导
  5. pycharm 取消连按两下shift出现的全局搜索
  6. php json解析教程,php解析json
  7. Vue.nextTick和Vue.$nextTick
  8. 530. 二叉搜索树的最小绝对差
  9. 如何使用SubtitleWorkshop制作字幕
  10. 生物学家、钢管舞、全栈工程师,女程序员如何活得漂亮
  11. python图合并_Python-numpy实现灰度图像的分块和合并方式
  12. 面向对象8:继承性、Object类的理解、写项目经验、debug经验
  13. 用户管理及权限管理的意义
  14. Python实现熵权法(正负指标)并计算综合评分—————附增完整代码和测试用例
  15. 华为管理学案例分析_华为管理成功案例分析答案
  16. 神州数码c语言笔试题,神州数码笔试题,神州数码笔试题.doc
  17. 【正点原子STM32】delay.c文件里关于fac_us=SystemCoreClock/8000000的讲解
  18. import cv2 失败“找不到指定模块”解决办法
  19. 应用分发是什么意思?APP内测分发步骤
  20. 不要让毒鸡汤毁了你,35岁没有那么可怕,保持专注更重要

热门文章

  1. NOJ - 2070 马尔扎哈的疑惑
  2. jsp留言板源代码一
  3. c语言字母菱形金字塔编程,C语言打印菱形、金字塔
  4. 2020-08-25
  5. 对话 MySQL 之父 Monty:超越 MySQL 很难,但我做到了!
  6. 开发中–渐进式光照贴图器
  7. 字节编程题 毕业旅行问题
  8. 解决git commit提示Please tell me who you are
  9. 【5G NR】物理资源
  10. expdp和impdp需要注意的地方