Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, reqCode);//reqCode是返回的code。
可是在有些手机会在protected void onActivityResult(int requestCode, int resultCode, Intent data)里返回的data为空,这时候我们就要想一些办法来攻克了,这个是手机问题。
我们要设置系统相机拍摄照片完毕后图片文件存放
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
完整代码例如以下:
String path="";
Intent intent = new Intent();
// 指定开启系统相机的Action
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
intent.addCategory(Intent.CATEGORY_DEFAULT);
File file = new File(constant.CACHE_PATH, String.valueOf(System
.currentTimeMillis()) + ".jpg");
if (file.exists()) {
file.delete();
}
// 把文件地址转换成Uri格式
Uri uri = Uri.fromFile(file);
path = file.getPath();
// 设置系统相机拍摄照片完毕后图片文件的存放地址
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, 100);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 100 && resultCode == RESULT_OK) {
super.onActivityResult(requestCode, resultCode, data);
imageLoader.displayImage("file://" + path, iv_logo, options);
}
}