Je dois ouvrir une intention pour 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");
c'est incorrect.
Voici une solution propre qui exploite pleinement la
android.net.Uri
classe via sonBuilder
modèle, évitant la composition et la décomposition répétées de la chaîne URI, sans compter sur des chaînes codées en dur ou des idées ad hoc sur la syntaxe URI.la source
la source
Pour ceux qui ont une erreur, vous entrez peut-être le mauvais nom de package. Utilisez simplement cette méthode.
Où
la source
Vous voulez l'URI de la ressource image et
R.drawable.goomb
c'est une ressource image. La fonction Builder crée l'URI que vous demandez:la source
Sur la base des réponses ci-dessus, je souhaite partager un exemple de kotlin sur la façon d'obtenir un Uri valide pour n'importe quelle ressource de votre projet. Je pense que c'est la meilleure solution car vous n'avez pas à taper de chaînes dans votre code et vous risquez de le taper mal.
la source