技术专栏
背景:
在安卓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;
}
转载自:https://blog.csdn.net/yinxing2008/article/details/82792582
** 推荐阅读:**
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
评论
0个
手气红包

相关专栏
-
浏览量:419次2019-06-25 13:58:23
-
浏览量:432次2019-11-21 14:20:37
-
浏览量:475次2019-11-08 09:10:49
-
浏览量:276次2019-11-15 17:14:59
-
浏览量:286次2020-02-29 09:07:58
-
浏览量:396次2018-01-18 19:38:12
-
浏览量:419次2017-12-13 11:43:56
-
浏览量:406次2020-04-15 10:00:55
-
浏览量:468次2020-07-13 17:40:25
-
浏览量:392次2018-01-24 11:25:53
-
浏览量:364次2020-02-29 10:14:49
-
浏览量:357次2020-08-03 12:01:28
-
浏览量:302次2020-03-03 14:32:09
-
浏览量:617次2018-06-09 17:46:42
-
浏览量:517次2019-01-16 16:03:27
-
浏览量:707次2017-12-14 10:12:40
-
浏览量:465次2020-03-19 18:04:02
-
浏览量:342次2020-03-14 09:54:40
-
浏览量:260次2020-03-20 10:52:14
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
您的支持将鼓励我继续创作!
打赏金额:
¥1

¥5

¥10

¥50

¥100

¥0.1

支付方式:

举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注