Permission Denial beim benutzen einer URI in android studio java?

ich habe erfolgreich eine URI mit einem button ermittelt aber wenn ich versuche die URI auf einen ImageButton zu setzten kriege ich folgenden

Fehler:

java.lang.SecurityException: Permission Denial: opening provider com.miui.gallery.provider. GalleryOpenProvider from ProcessRecord{54eddcf 26809:com.example.sortex/u0a568} (pid=26809, uid=10568) that is not exported from UID 10133

Mein Code mit dem Fehler:

if (!imagePath.equals("")) {
    Uri imageUri = Uri.parse(imagePath);
    try {
      Bitmap bitmap = uriToBitmap(ItemActivity.this, imageUri);
      
      int width = 110;
      int height = 100;
      Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, width, height, true);
      
      imageBtn2.setImageBitmap(scaledBitmap);

Code um die URI zu ermitteln und zu speichern:

public class ItemActivity extends AppCompatActivity {
    private ActivityResultLauncher<Intent> galleryLauncher =
            registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
                    result -> {
                        if (result.getResultCode() == RESULT_OK && result.getData() != null) {
                            Uri imageUri = result.getData().getData();
                            try {

                                // Speichern des Bildpfads in den SharedPreferences
                                SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
                                SharedPreferences.Editor editor = sharedPreferences.edit();
                                editor.putString("image_button_" + tempIMGID, imageUri.toString()); // itemID imageBtn2.getId()
                                editor.apply();

                                finish();
                                startActivity(getIntent());

                            } catch (Exception e) {
                                e.printStackTrace();
                            }

                        }
                    });

Code um die URI ab zu rufen:

// Laden des Bildes aus den SharedPreferences
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
String imagePath = sharedPreferences.getString("image_button_" + tempIMGID, ""); //itemID imageBtn2.getId()

Ich bitte um eine Lösung (alle Permissions eigendlich gesetzt) Ich hab schon sehr viel rumprobiert aber jetzt weiß ich nichtmehr weiter

Uri, Studio, Erlaubnis, permissions

Meistgelesene Fragen zum Thema Permissions