1
Folks。以編程方式從相機文件夾獲取圖像
我在這裏面臨一個奇怪的問題。我有一個應用程序,您可以從按鈕點擊按鈕中的圖庫或相機中選擇一個圖像。除了每當我從我的相機文件夾中選擇任何圖片時,應用程序剛剛崩潰,一切進展順利。下面我的代碼
case R.id.camera:
AlertDialog.Builder builder = new AlertDialog.Builder(Splash.this);
builder.setTitle("Choose Image Source");
builder.setItems(new CharSequence[] { "Gallery", "Camera" },
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
Intent intent = new Intent(
Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
Intent chooser = Intent.createChooser(intent,
"Choose a Picture");
startActivityForResult(chooser,
ACTION_REQUEST_GALLERY);
break;
case 1:
Intent cameraIntent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
String mImageCaptureUri = null;
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,
mImageCaptureUri);
startActivityForResult(cameraIntent,
ACTION_REQUEST_CAMERA);
break;
}
}
});
builder.show();
break;
活動的結果:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
switch (requestCode) {
case ACTION_REQUEST_GALLERY:
Uri selectedImageUri;
selectedImageUri = data == null ? null : data.getData();
cap.setImageURI(selectedImageUri);
break;
case ACTION_REQUEST_CAMERA:
Bitmap photo = (Bitmap) data.getExtras().get("data");
cap.setImageBitmap(photo);
// CALL THIS METHOD TO GET THE URI FROM THE BITMAP
Uri tempUri = getImageUri(getApplicationContext(), photo);
// CALL THIS METHOD TO GET THE ACTUAL PATH
File finalFile = new File(getRealPathFromURI(tempUri));
Toast.makeText(getApplicationContext(),
finalFile.getAbsolutePath(), 4000).show();
break;
}
}
}
請張貼您的logcat與錯誤的詳細信息。 – NigelK
不幸的是我用我的手機來測試它,因爲模擬器沒有任何圖片可供選擇。 –
它只與相機文件夾照片崩潰,我的我的Facebook相冊在我的畫廊,它工作正常。 –