Dateipfad vom URI abrufen

8

Ich habe Uri für Image-Datei.

Ich benutze diesen Code für den Dateipfad von Uri:

%Vor%

Wenn ich ein Bild aus der Galerie-App (Android 4.4.2, Arm-Emu) auswähle,

%Vor%

Wenn ich ein Bild aus der App "Dokumente" auswähle (Android 4.4.2, Arm-Emu),

%Vor%

Wie kann ich den richtigen Pfad zur Datei für beide Aktionen zurückgeben?

Mein Code ist: -

%Vor%

Behandle Aktivitätsergebnis:

%Vor%

Das Laden ausgewählter Dateien in ImageView funktioniert für beide Zustände einwandfrei:

%Vor%     
Artem 17.11.2014, 03:24
quelle

6 Antworten

18

Lösung:

%Vor%

Ссылка

    
Artem 17.11.2014, 04:27
quelle
2

Eine einfachere Version der akzeptierten Antwort, die die API-Ebene erkennt und die richtige Methode verwendet:

%Vor%     
yehyatt 13.07.2015 12:05
quelle
1

Stelle sicher, dass du Erlaubnis in Manifest gibst. 2 Stunden vergeudet, verschiedene Methoden ausprobiert, ohne Berechtigungen zu erteilen: /

%Vor%     
Haroon Rasheed 19.03.2016 22:23
quelle
0

Ich denke, das sollte funktionieren. Ein verallgemeinerter Code zum Abrufen von URI aus dem Pfad:

%Vor%     
Hirak Chhatbar 17.11.2014 03:38
quelle
0

Also habe ich versucht, im Grunde immer auf dem Stapel zu antworten, aber das war das einzige, was für mich funktionierte. Es ist wichtig, über die URI als ein "Versprechen" nachzudenken, dass ein Bild dort lebt, wo es hinweist. Dies bedeutet nicht, dass es eine Datei an diesem Ort gibt, aber wenn Sie richtig fragen, erhalten Sie ein Bild. attachementPath ist der Pfad zum Bild (kann wie eine normale Datei verwendet werden). Siehe unten:

%Vor%     
MarcusM. 02.03.2016 04:19
quelle
0

public static int getIDFromUri (Uri uri, String constantId)     {         Cursor c = ContentMaster.getContentResolver () .abfrage (uri, neuer String [] {constantId}, null, null, null);

%Vor%     
Ali Bagheri 15.10.2017 13:57
quelle