解决android调用系统相机拍照保存时onActivityResult中data为null的问题

调用系统相机照相的代码:

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 {
        //
}








你可能感兴趣的:(android)