Preciso abrir um intent para visualizar uma imagem da seguinte maneira:
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("@drawable/sample_1.jpg");
intent.setData(uri);
startActivity(intent);
O problema é que isso Uri uri = Uri.parse("@drawable/sample_1.jpg");
está incorreto.
Aqui está uma solução limpa que aproveita totalmente a
android.net.Uri
classe por meio de seuBuilder
padrão, evitando composição e decomposição repetidas da string URI, sem depender de strings codificadas ou ideias ad hoc sobre a sintaxe URI.fonte
fonte
Para aqueles com erro, você pode estar inserindo o nome do pacote errado. Basta usar este método.
Onde
fonte
Você quer o URI do recurso de imagem e
R.drawable.goomb
é um recurso de imagem. A função Builder cria o URI que você está pedindo:fonte
Com base nas respostas acima, quero compartilhar um exemplo kotlin sobre como obter um Uri válido para qualquer recurso em seu projeto. Eu acho que é a melhor solução porque você não tem que digitar nenhuma string em seu código e correr o risco de digitá-lo incorretamente.
fonte