Android-Kamera-Aufnahme-Aktivität gibt null zurück, Uri
Dieser code war auf dem samsung vor, aber jetzt, dass ich mit Nexus One mit Android 2.3.6, es zu Abstürzen sobald ich ein Bild und klicken Sie auf ok oder wählen Sie ein Foto aus der Galerie. Stacktrace zeigt eine null-Zeiger-Ausnahme auf der Uri.
Mein code für die Aktivierung der Kamera ist wie folgt:
public void activateCamera(View view){
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//start the image capture Intent
startActivityForResult(i, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if ((requestCode == CHOOSE_IMAGE_ACTIVITY_REQUEST_CODE || requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE)
&& resultCode == RESULT_OK && null != data) {
selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
Bitmap bits = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = inSampleSize;
try {
bits = BitmapFactory.decodeStream(new FileInputStream(picturePath),null,options);
} catch (FileNotFoundException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
Irgendeine Idee was das problem sein könnte?
Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Muss man sagen, die Kamera, wo das Bild speichern und dir die uri selbst:
Speichern, sollten Sie den Wert von
mMakePhotoUri
über Instanz-Staaten innerhalbonCreate()
undonSaveInstanceState()
.Injizieren dieses extra in der Absicht, dass onActivityResult aufgerufen, und das system wird alles tun, die schweres heben für Sie.
Dies macht es so einfach wie das abrufen, das Foto als bitmap.
verpassen Sie keine extras, nur definieren Sie den Pfad, wo Sie Sie platziert haben, oder die Datei gespeichert haben, direkt in onActivityResult