照相机拍照
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);// 照相机拍照
// 需要说明一下,以下操作使用照相机拍照,
// 拍照后的图片会存放在相册中的,这里使用的这种方式有一个好处就是获取的图片是拍照后的原图,
// 如果不实用ContentValues存放照片路径的话,拍照后获取的图片为缩略图不清晰
ContentValues values = new ContentValues();
Uri photoUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(intent, RC_TAKE_PHOTO);
选择照片
public void choosePhoto() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
startActivityForResult(new Intent(Intent.ACTION_GET_CONTENT).setType("image/*"),
RC_CHOOSE_PHOTO);
} else {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(intent, RC_CHOOSE_PHOTO);
}
}
最后在onActivityResult方法中接收intent返回的URI
相册接收intent.getData();
相机的URI就是photoUri