Hallo,
um Fotos zu machen habe ich 2 Layouts (portrait und landscape, siehe Dateien). Bei Take picture wird die Camera geöffnet und das Foto wird dann in dem Layout angezeigt (siehe Datei), mit save picture dann abgelegt.
Problem:
Wenn ich nach dem Öffnen der Kamera von vertikal zu horizontal wechsle und fotografiere öffnet sich danach richtig das landscape-Layout, aber das Foto wird nicht angezeigt sondern die APP stürzt ab, leider ohne jede Fehlerkennung, außer image_uri istr nach dem Umkippen null ?
Code
		
					
			private void openCamera() {
    ContentValues values = new ContentValues();
    values.put(MediaStore.Images.Media.TITLE, "New Picture");
    values.put(MediaStore.Images.Media.DESCRIPTION, "From the Camera");
    image_uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
    cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, image_uri);
    cameraActivityResultLauncher.launch(cameraIntent);
}
//TODO capture the image using camera and display it
ActivityResultLauncher<Intent> cameraActivityResultLauncher = registerForActivityResult(
        new ActivityResultContracts.StartActivityForResult(),
        new ActivityResultCallback<ActivityResult>() {
            @Override
            public void onActivityResult(ActivityResult result) {
                if (result.getResultCode() == Activity.RESULT_OK) {
                    Bitmap inputImage = uriToBitmap(image_uri);
                    Bitmap rotated = rotateBitmap(inputImage);
                    taskPicture.setImageBitmap(rotated);
                    fname = getRealPathFromURI(Bild_Activity.this, image_uri);
                 }
            }
        });
//TODO takes URI of the image and returns bitmap
private Bitmap uriToBitmap(Uri selectedFileUri) {
    try {
        ParcelFileDescriptor parcelFileDescriptor =
                getContentResolver().openFileDescriptor(selectedFileUri, "r");
        FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
        Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor);
       // Bitmap rotated = rotateBitmap(image);
        parcelFileDescriptor.close();
        return image;
       // return rotated;
    } catch (IOException e) {
        e.printStackTrace();
    }
    return  null;
} 
		 
		
		
	 
									
		