0
我正在使用此代碼從圖庫或拍照中獲取圖像。
拍照完美。
從相機拍攝的照片將在影像上顯示,
但與畫廊拍攝的圖像不同,它總是空白。ImageView不改變圖像從圖庫中獲取
public void fromCamera(int id) {
Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, IMAGE_CAPTURE);
}
public void fromGallery(int id) {
Intent intent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "Pick a Picture"),
IMAGE_PICK);
}
public String getRealPathFromURI(Uri contentUri) {
try {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
} catch (Exception e) {
return contentUri.getPath();
}
}
private void imageFromCamera(int resultCode, Intent data) {
this.mButtonCarPhoto.setImageBitmap((Bitmap) data.getExtras().get("data"));
Uri selectedImageUri = data.getData();
mSelectedImagePath = getRealPathFromURI(selectedImageUri);
Log.e("Camera",mSelectedImagePath);
// mBase64Image = CONVERT_IMG_BASE64(mSelectedImagePath);
}
private void imageFromGallery(int resultCode, Intent data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
assert cursor != null;
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
mSelectedImagePath = cursor.getString(columnIndex);
Log.e("Gallery",mSelectedImagePath);
cursor.close();
this.mButtonCarPhoto.setImageBitmap(BitmapFactory.decodeFile(mSelectedImagePath));
//mBase64Image = CONVERT_IMG_BASE64(mSelectedImagePath);*/
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
switch (requestCode) {
case IMAGE_PICK:
this.imageFromGallery(resultCode, data);
break;
case IMAGE_CAPTURE:
this.imageFromCamera(resultCode, data);
break;
default:
break;
}
}
}
我在做什麼錯了?