Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Menu Ver mapa não funciona

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...

3 respostas

Oi André,

você poderia postar o código que está passando no setData dessa intent?

solução!

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.