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