解决android调用系统相机拍照保存时onActivityResult中data为null的问题
16lz
2021-01-22
调用系统相机照相的代码:
boolean isNull=false;//判断照相机返回数据是否为空
Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE");
File file = new File(Environment.getExternalStorageDirectory()
+ "/Elephant/accountImg/accountImg.jpg");
if (file.exists()) {
file.delete();
}
//指定uri存储相片
getImageByCamera.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(file));
isNull = true;
startActivityForResult(getImageByCamera, 0x1005);
而在拍照完成返回上一个activity时发现在onActivityResult中data为null,此时应在onActivityResult中加判断:
if (data==null) {
if (isNull) {//标志位在上面设置为真,当空值时直接调用这段代码
File fileImg = new File(Environment.getExternalStorageDirectory()
+ "/Elephant/accountImg/accountImg.jpg");
Uri uriFromImg=Uri.fromFile(fileImg);//取得刚拍完的照片uri
//对图片进行操作
isNull=false;//最后再将标志位置否
}
}else {
//
}
更多相关文章
- Java已经启动,但是返回的退出代码=13 eclipse [duplicate]
- Android有用的代码片段
- Robotium用例通过代码自动解锁屏幕
- Android代码性能优化技巧
- Android公钥私钥及代码详细解读
- android OSChina 客户端源代码剖析
- android代码混淆 GSON完满解决
- Android开源代码解读の地图照片应用Panoramio的实现详解(六)
- 在app引擎端点的启动时执行代码