Ich muss die Absicht öffnen, ein Bild wie folgt anzuzeigen:
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("@drawable/sample_1.jpg");
intent.setData(uri);
startActivity(intent);
Das Problem ist, dass Uri uri = Uri.parse("@drawable/sample_1.jpg");
das falsch ist.
Hier ist eine saubere Lösung, die die
android.net.Uri
Klasse über ihrBuilder
Muster voll ausnutzt und wiederholtes Zusammensetzen und Zerlegen der URI-Zeichenfolge vermeidet, ohne sich auf fest codierte Zeichenfolgen oder Ad-hoc-Ideen zur URI-Syntax zu verlassen.quelle
quelle
Bei Fehlern geben Sie möglicherweise den falschen Paketnamen ein. Verwenden Sie einfach diese Methode.
Wo
quelle
Sie möchten den URI der Bildressource und
R.drawable.goomb
sind eine Bildressource. Die Builder-Funktion erstellt den URI, nach dem Sie fragen:quelle
Basierend auf den obigen Antworten möchte ich ein Kotlin-Beispiel dazu geben, wie Sie einen gültigen Uri für jede Ressource in Ihrem Projekt erhalten. Ich denke, es ist die beste Lösung, weil Sie keine Zeichenfolgen in Ihren Code eingeben müssen und das Risiko eingehen, ihn falsch einzugeben.
quelle