2011-11-28 8 views
8

Necesito obtener el URI de una imagen almacenada en el SDCARD.¿Cómo obtener el Uri de una imagen almacenada en el SDCARD?

Cuando quiero conseguir la Uri de una imagen almacenada en dibujable, yo uso este y funciona perfecto:

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

Pero si quiero conseguir el URI de una imagen almacenada en la SDCARD, i tryed con esto, y no funciona, algo está mal:

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

por favor, alguien puede decirme cómo obtener el URI correcto de una imagen almacenada en la tarjeta sd?

Gracias

+0

Ha intentado i.putExtra (Intent.EXTRA_STREAM, Uri.parse ("file: //mnt/sdcard/car.jpg")) ;? Déjame saber qué ocurre ... – user370305

+0

Mira aquí http://stackoverflow.com/questions/3873496/how-to-get-image-path-from-images-stored-on-sd-card –

Respuesta

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

Siempre use Environment.getExternalStorageDirectory() en lugar de codificar duro el camino del directorio de almacenamiento externo. Porque la ruta del directorio de almacenamiento externo puede ser diferente en diferentes niveles de API.

Prueba esto:

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

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