112 votes

Comment obtenir un URI d'une ressource image sous Android

Je dois ouvrir l'intention de visualiser une image comme suit:

 Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("@drawable/sample_1.jpg");
intent.setData(uri);
startActivity(intent);
 

Le problème est que Uri uri = Uri.parse("@drawable/sample_1.jpg"); est incorrect.

153voto

Axarydax Points 7787

Le format est:

"android.resource://[package]/[res id]"

[paquet] est le nom de votre paquet

[res id] est la valeur de l'ID de la ressource, par exemple R.drawable.sample_1

pour coudre ensemble, utilisez

Uri path = Uri.parse("android.resource://your.package.name/" + R.drawable.sample_1);

11voto

sandalone Points 8326

Pour ceux qui ont une erreur, vous pouvez entrer un nom de paquet incorrect. Utilisez simplement cette méthode.

 public static Uri resIdToUri(Context context, int resId) {
    return Uri.parse(Consts.ANDROID_RESOURCE + context.getPackageName()
                     + Consts.FORESLASH + resId);
}
 

 public static final String ANDROID_RESOURCE = "android.resource://";
public static final String FORESLASH = "/";
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X