Holen Sie Dateipfad und den Dateinamen der ausgewählten Galerie image in Android

Ich bin erstellen einer app, die lädt ein ausgewähltes Bild aus der Galerie und lädt Sie zu einem web-service. Der webservice erfordert der Dateiname des ausgewählten Bildes plus eine base64-Kodierung der Datei-Inhalte. Ich habe es geschafft, dies zu erreichen mit einer fest codierten Pfad. Jedoch bin ich kämpfen, um den echten Dateipfad des Bildes. Ich habe gelesen rund um das web und haben diesen code, aber es funktioniert bei mir nicht:

 public void onActivityResult(int requestCode, int resultCode, Intent data) {
   if (resultCode == RESULT_OK) {
     Uri selectedImageUri = data.getData();
     String[] projection = {MediaStore.Images.Media.DATA};

     try {
       Cursor cursor = getContentResolver().query(selectedImageUri, projection, null, null, null);
       cursor.moveToFirst();

       int columnIndex = cursor.getColumnIndex(projection[0]);
       String picturePath = cursor.getString(columnIndex);
       cursor.close();
       Log.d("Picture Path", picturePath);
     }
     catch(Exception e) {
       Log.e("Path Error", e.toString());
     }
   }
 }

Bekomme ich diesen Fehler:

java.lang.NullPointerException

BEARBEITEN

Vergaß zu erwähnen, ich bin mit Kitkat. Es sieht aus wie mein problem ist KitKat Verwandte. Ich fand diese (siehe unten), die mir geholfen bekommen mein app arbeiten:

Android-Galerie auf KitKat gibt unterschiedliche Uri für Vorsatz.ACTION_GET_CONTENT

InformationsquelleAutor der Frage amburnside | 2013-12-02

Schreibe einen Kommentar