A Intent.ACTION_VIEW para visualizar o mapa com o endereço do contato não funciona.
Exibindo uma mensagem: activity not found to handle intent...
A Intent.ACTION_VIEW para visualizar o mapa com o endereço do contato não funciona.
Exibindo uma mensagem: activity not found to handle intent...
Oi André,
você poderia postar o código que está passando no setData
dessa intent?
Olá Felipe,
na verdade eu solucionei o problema criando um novo emulador com a API do google - APi level 17
ai funcionou.
Antes estava assim
MenuItem mapa = menu.add("Ver no mapa");
mapa.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Uri localMapa = Uri.parse("geo:0,0?q=" + alunoSelecionado.getEndereco());
Intent verMapa = new Intent(Intent.ACTION_VIEW);
verMapa.setData(localMapa);
startActivity(verMapa);
return false;
}
});
Ai mudei para isto
MenuItem mapa = menu.add("Ver no mapa");
mapa.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Uri localMapa = Uri.parse("geo:0,0?q=" + alunoSelecionado.getEndereco());
Intent verMapa = new Intent(Intent.ACTION_VIEW, localMapa);
verMapa.setPackage("com.google.android.apps.maps");
startActivity(verMapa);
return false;
}
});
Perfeito!
Como o seu emulador anterior não tinha suporte para mapa, pois não tinha a app do Google Maps instalado, ao tentar disparar uma intent com geo:, não tinha nenhuma app para tratá-lo. Causando o erro que você viu.
Quando você subiu um emulador com Google APIs, você ficou com o Google Maps instalado. Dessa forma, pode disparar essa intent sem problemas.
Só um detalhe: quando você fez setPackage("com.google.android.apps.maps)
, você diz explicitamente que essa intent deverá ser aberta por apenas essa app com esse package name.
Abraço.