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();// 指定开启系统相机的Actionintent.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);}}