Necesito abrir una intención para ver una imagen de la siguiente manera:
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("@drawable/sample_1.jpg");
intent.setData(uri);
startActivity(intent);
El problema es que Uri uri = Uri.parse("@drawable/sample_1.jpg");
es incorrecto.
Aquí hay una solución limpia que aprovecha completamente la
android.net.Uri
clase a través de suBuilder
patrón, evitando la composición y descomposición repetidas de la cadena URI, sin depender de cadenas codificadas o ideas ad hoc sobre la sintaxis URI.fuente
fuente
Para aquellos que tengan errores, es posible que estén ingresando el nombre del paquete incorrecto. Solo usa este método.
Dónde
fuente
Quiere el URI del recurso de imagen y
R.drawable.goomb
es un recurso de imagen. La función Builder crea el URI que está solicitando:fuente
Basado en las respuestas anteriores, quiero compartir un ejemplo de kotlin sobre cómo obtener un Uri válido para cualquier recurso en su proyecto. Creo que es la mejor solución porque no tiene que escribir ninguna cadena en su código y se arriesga a escribirla incorrectamente.
fuente