Konvertiere den Inhalt: // URI in den tatsächlichen Pfad in Android 4.4

Habe ich versucht, eine Lösung (siehe unten), das funktioniert gut, außer in Android 4.4 Aufruf startActivityForResult() bringt eine Tätigkeit mit dem Titel "Öffnen", "Aktuelles", "Bilder", "Downloads", sowie mehrere apps zur Auswahl. Wenn ich wählen Sie "Bilder" und versuchen Sie, das zurückgegebene content-URI (mit dem code unten), wird der Anruf zu cursor.getString() null zurück. Wenn ich die exakt gleiche Datei mit der Galerie-app, cursor.getString() gibt einen Datei-Pfad. Ich habe nur getestet, das in API-Level 16 und 19. Alles funktioniert wie erwartet im 16. So weit wie 19 geht, ich habe zu wählen, der Galerie oder einer anderen app oder es funktioniert nicht.

private String getRealPathFromURI(Context context, Uri contentUri) {
    Cursor cursor = null;
    try { 
        String[] proj = { MediaStore.Images.Media.DATA };
        cursor = context.getContentResolver().query(contentUri,  proj, null, null, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        String path = cursor.getString(column_index);

        return path;
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
}
Kommentar zu dem Problem
Hast du dafür eine Lösung? Kommentarautor: Archie.bpgc

InformationsquelleAutor der Frage Raging Software | 2013-11-14

Schreibe einen Kommentar