Ich versuche, das Miniaturbild des aufgenommenen Bildes in das scr eines ImageButtons zu setzen. Der folgende Code funktioniert gut, wenn das Bild aufgenommen und in der Galerie gespeichert wird, aber die "Bitmap imageBitmap = (Bitmap) extras.get (" data ");" gibt null zurück. Kann mir bitte jemand erklären warum?Daten, die bei der Aufnahme eines Bildes als Null zurückgegeben wurden
private void openCamera() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Ensure that there's a camera activity to handle the intent
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
// Create the File where the photo should go
photoFile = null;
try {
photoFile = createImageFile();
} catch (IOException ex) {
// Error occurred while creating the File
Log.i("Camera log", "Failed:" + ex.toString());
}
// Continue only if the File was successfully created
if (photoFile != null) {
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(photoFile));
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
}
private void galleryAddPic() {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(mCurrentPhotoPath);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
cameraBtn.setImageBitmap(imageBitmap);
galleryAddPic();
}
}
Siehe 'photoFile' Objekt, das Bild erfasst, enthalten. –