2011-07-07 6 views
0

J'ai le chemin absolu vers un .jpg dans la galerie. Comment puis-je obtenir un « contenu: // » Uri à cette image, afin que je puisse utiliser ce Uri comme ceci:Android - Obtenir Uri à l'image sur la carte SD

Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 

J'ai besoin de lancer cette intention, je peux voir l'image. Comment obtenir l'uri, alors que je n'ai que le chemin absolu vers l'image?

Répondre

1

Vous devez d'abord lire le fichier depuis votre carte SD.

Voir:

reading a specific file from sdcard in android

http://developer.android.com/reference/java/io/File.html

File dir = Environment.getExternalStorageDirectory(); 
File yourFile = new File(dir, "path/to/the/file/inside/the/sdcard.ext"); 

appeler ensuite la méthode File.toUri() pour récupérer l'URI du fichier.

Intent intent = new Intent(Intent.ACTION_VIEW, yourFile.toURI()); 
startActivity(intent); 
+1

merci, mais cela ne fonctionne pas correctement. Tout d'abord, il y a une erreur, car le deuxième paramètre du constructeur Intent() doit être android.net.Uri, et il s'agit de java.net.URI. Aussi, la méthode yourFile.toUri() retourne le fichier:/URI, alors que je veux le contenu: // URI. – Gabriel

Questions connexes