Ich unsere App (Xamarin C#) wir Dateien von einem Server herunterladen. Am Ende eines succeful Download wir den URI in die neu heruntergeladene Datei erhalten und aus dem URI bekommen wir den Dateipfad:Android 6 erhalten Pfad heruntergeladene Datei
Android.Net.Uri uri = downloadManager.GetUriForDownloadedFile(entry.Value);
path = u.EncodedPath;
In Android 4.4.2 und Android 5 der uri und Weg wie folgt aussehen:
uri="file:///storage/emulated/0/Download/2.zip"
path = u.EncodedPath ="/storage/emulated/0/Download/2.zip"
Wir verwenden dann Pfad die Datei zu verarbeiten. Das Problem ist, dass in Android 6 (auf einem echten Nexus-Telefon) bekommen wir einen ganz anderen uri und Weg:
uri="content://downloads/my_downloads/2802"
path="/my_downloads/2802"
Das ist meinen Code bricht durch eine FileNotFound Ausnahme werfen. Beachten Sie, dass die heruntergeladene Datei vorhanden ist und sich im Ordner Downloads befindet. Wie kann ich die URI von Android 6 verwenden, um den richtigen Dateipfad zu erhalten, damit ich die Datei bearbeiten und bearbeiten kann?
Danke, [email protected]
Dieses SDK sowohl mit 22 mit SDK 22 – user1523271
Versuchte und 23, die gleiche Resultat – user1523271