Laden...

MAUI.net Android - Auf externen Speicher zugreifen

Erstellt von Jonas2909 vor einem Jahr Letzter Beitrag vor einem Jahr 756 Views
J
Jonas2909 Themenstarter:in
5 Beiträge seit 2022
vor einem Jahr
MAUI.net Android - Auf externen Speicher zugreifen

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!

3.825 Beiträge seit 2006
vor einem Jahr

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

J
Jonas2909 Themenstarter:in
5 Beiträge seit 2022
vor einem Jahr

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.

D
259 Beiträge seit 2015
vor einem Jahr

Hilft dir das hier: Permissions - .NET MAUI

J
Jonas2909 Themenstarter:in
5 Beiträge seit 2022
vor einem Jahr

Perfekt, es funktioniert. Danke!