android 拍照注意问题

时间:2022-08-16 00:18:24

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);





}

}