2011-11-28 4 views
8

Ho bisogno di ottenere l'URI di un'immagine memorizzata su SDCARD.Come ottenere l'Uri di un'immagine memorizzata su SDCARD?

Quando voglio ottenere l'Uri di un'immagine memorizzata su disegnabile, io uso questo e funziona perfetto:

i.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.image)); 

Ma se voglio ottenere l'URI di un'immagine memorizzata sul SDCARD, i tryed con questo, e non ha le opere, qualcosa non va:

i.putExtra(Intent.EXTRA_STREAM, Uri.parse("/mnt/sdcard/car.jpg")); 

prega, qualcuno può dirmi come ottenere il corretto uri di un'immagine memorizzata sulla scheda sD?

Grazie

+0

Hai provato i.putExtra (Intent.EXTRA_STREAM, Uri.parse ("file: //mnt/sdcard/car.jpg")) ;? Fammi sapere cosa succede .. – user370305

+0

Dai un'occhiata qui http://stackoverflow.com/questions/3873496/how-to-get-image-path-from-images-stored-on-sd-card –

risposta

10
String filename = "image.png"; 
String path = "/mnt/sdcard/" + filename; 
File f = new File(path); // 
      Uri imageUri = Uri.fromFile(f);  
12

Utilizzare sempre Environment.getExternalStorageDirectory() invece di difficile codifica il percorso della directory di archiviazione esterna. Perché il percorso della directory di archiviazione esterna potrebbe essere diverso in diversi livelli API.

Prova questo:

String fileName = "YourImage.png"; 
String completePath = Environment.getExternalStorageDirectory() + "/" + fileName; 

File file = new File(completePath); 
Uri imageUri = Uri.fromFile(file);