Android 7.0拍照崩溃问题

问题:android 7.0手机打开相机出现崩溃?
android.os.FileUriExposedException:file:///storage/emulated/0/Pictures/IMG_20170315065632.jpg expos

解决方案:

使用ContentProvider方式具体解决代码如下:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (intent.resolveActivity(context.getPackageManager()) != null) {
        /*获取当前系统的android版本号*/
      int currentApiVersion = Build.VERSION.SDK_INT;
      if (currentApiVersion < Build.VERSION_CODES.N) {
            intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
            context.startActivityForResult(intent, REQUEST_CAMERA);
       } else {
            ContentValues contentValues = new ContentValues(1);
            contentValues.put(MediaStore.Images.Media.DATA, file.getAbsolutePath());
            Uri uri = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
            context.startActivityForResult(intent, REQUEST_CAMERA);
        }
} else {
    Toast.makeText(context, "相机不可用", Toast.LENGTH_SHORT).show();
}

最近看到的好的文章:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,995评论 25 709
  • 迷上多肉的那一刻,就避免不了的要不停的买花盆。花盆,是多肉的家,不能让可爱的多肉娃娃没有家,于是在疯狂的买多都的同...
    我叫赵培岩阅读 3,414评论 0 0
  • 文/薛薛薛 豌豆是我姐姐的朋友,没比我大几岁,是典型的童颜巨乳萝莉型,在北京的一家外企工作,和我姐吃饭的时候见过几...
    兄弟哦秘密阅读 5,129评论 6 9
  • 积攒了一坨肉,却没有等到取暖的人儿!
    你的心是单人房双人床阅读 1,531评论 0 2

友情链接更多精彩内容