comment obtenir un uri d'une ressource d'image android
- Je besoin pour ouvrir une intention d'afficher 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.
Vous devez vous connecter pour publier un commentaire.
Le format est:
"android.resource://[package]/[res id]"
[package] est votre nom de paquet
[res id] est valeur de l'ID de la ressource, par exemple, R. drawable.sample_1
à broder ensemble, l'utilisation
Uri path = Uri.parse("android.resource://your.package.name/" + R.drawable.sample_1);
ContentResolver.SCHEME_ANDROID_RESOURCE
Uri uri = Uri.parse(String.valueOf(R.id.drawable_name));
Ici est une solution propre qui exploite pleinement les
android.net.Uri
classe par l'intermédiaire de sonConstructeur
modèle, en évitant répétées de la composition et de la décomposition de la chaîne URI, sans compter sur les chaînes codées en dur ou ad hoc idées à propos de la syntaxe d'URI.Pour ceux d'avoir d'erreur, vous pouvez pénétrer dans le mauvais nom de package. Il suffit d'utiliser cette méthode.
Où
Vous voulez l'URI de la ressource d'image, et
R.drawable.goomb
est une ressource d'image. Le Générateur de fonction crée l'URI que vous demandez:Sur la base des réponses ci-dessus, je veux partager une kotlin exemple sur la façon d'obtenir une Uri valide pour toutes les ressources dans votre projet. Je pense que c'est la meilleure solution parce que vous n'avez pas à taper toutes les chaînes dans votre code et le risque de taper à tort.