Hallo,
ich hänge derzeit an folgendem Problem:
Der Nutzer meiner Android-App, geschrieben in C# mit Maui.net, soll die Möglichkeit haben ein Foto aus seiner Galerie auszuwählen. Dieses Foto kopiere ich dann in den Pfad meiner Anwendung.
Leider wirft er mir jedes Mal folgenden Fehler aus:
Fehlermeldung:
maui system.unauthorizedaccessexception: 'access to the path '/storage/emulated/0/dcim/...'
Ich habe mich jetzt schon vielfach belesen, finde aber keine funktionierende Lösung mit deren Hilfe ich eine entsprechende Erlaubnis beim Nutzer abfragen kann. Setzte ich die Erlaubnis manuell in den Einstellungen der App funktioniert es. Allerdings halte ich diese Lösung für wenig benutzerfreundlich.
Habt ihr eine Idee, wie ich das Problem lösen kann?
Besten Dank im Voraus!
Die Berechtigung muss der Anwender manuell einstellen.
Beachte dass /storage/emulated/0/ im Handy Speicher gespeichert wird, /storage/sdcard1/ wird auf der SD-Card gespeichert.
Ich lese die beiden so :
Parameter.SdCardPath = "";
Parameter.SdCardPath2 = "";
if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat) // ab API 19
{
var dirs = GetExternalFilesDirs(null);
if (dirs.Length > 1) Parameter.SdCardPath = dirs[1].AbsolutePath;
if (dirs.Length > 1) Parameter.SdCardPath2 = dirs[0].AbsolutePath;
}
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Danke für deine Antwort!
So wie ich dich verstanden habe, kann ich keine solche Anfrage für den Zugriff auf den „externen Speicher“ (nicht die SD Karte) an den User stellen? Wie machen das dann die bekannteren Programme? Nutzen die eher Kotlin/Java und machen es damit möglich?
Auch mit Xamarin konnte ich eine solche Freigabe anfragen.
Hilft dir das hier: Permissions - .NET MAUI
Perfekt, es funktioniert. Danke!