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

Erro Mapa, (Foi marcada como solucionada, mas não)

Continua o mesmo erro.

Tentei das duas formas, demonstrado na explicação

invocando explicitamente o método startActivity usando o setOnMenuItemClickListener:


MenuItem mapa = menu.add("Achar no Mapa");
        mapa.setOnMenuItemClickListener(new OnMenuItemClickListener() {

            @Override
            public boolean onMenuItemClick(MenuItem item) {
                Intent intentMapa = new Intent(Intent.ACTION_VIEW); intentMapa.setData(Uri.parse("geo:0,0?z=14&q="+alunoSelecionado.getEndereco())); 
                setIntent(intentMapa); 
                startActivity(intentMapa);
                return false;
            }
        });

LogCat (explicitamente startActivity )
unfortunately 

02-05 08:59:34.535: E/InputEventReceiver(1772): Exception dispatching input event.
02-05 08:59:34.545: E/MessageQueue-JNI(1772): Exception in MessageQueue callback: handleReceiveCallback
02-05 08:59:34.725: E/MessageQueue-JNI(1772): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=geo:0,0?z=14&q=Rua Aracati }
02-05 08:59:34.725: E/MessageQueue-JNI(1772):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632)

e diretamente


MenuItem mapa = menu.add("Achar no Mapa");
Intent intentMapa = new Intent(Intent.ACTION_VIEW); intentMapa.setData(Uri.parse("geo:0,0?z=14&q="+alunoSelecionado.getEndereco())); 
        mapa.setIntent(intentMapa);

LogCat: (método direto)


02-05 08:47:24.955: E/MenuItemImpl(1671): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=geo:0,0?z=14&q=Rua Aracati }
02-05 08:47:24.955: E/MenuItemImpl(1671):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632)

outros que funcionam


MenuItem ligar = menu.add(0,0,0,"Ligar");
        // Intent intentLigar = new Intent(Intent.ACTION_CALL);
         Intent intentLigar = new Intent(Intent.ACTION_DIAL);
         intentLigar.setData(Uri.parse("tel:"+alunoSelecionado.getTelefone()));
         ligar.setIntent(intentLigar);


        MenuItem SMS = menu.add("Enviar SMS");

        Intent intentSMS = new Intent(Intent.ACTION_VIEW);
        intentSMS.setData(Uri.parse("sms:"+alunoSelecionado.getTelefone()));
        intentSMS.putExtra("sms_body"," Olá sou o Douglas Raphael, retornarei a ligação assim que possível");
        SMS.setIntent(intentSMS);

MenuItem emailOP = menu.add(0,5,0, "Enviar E-mail ,...");
        email.setOnMenuItemClickListener(new OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                Intent intentEmail = new Intent(Intent.ACTION_SEND);
                intentEmail.setType("message/rfc822"); 
                intentEmail.putExtra(Intent.EXTRA_EMAIL,
                     new String[] { "caelum@caelum.com.br" });
                intentEmail.putExtra(Intent.EXTRA_SUBJECT, "Elogios do curso de android");
                intentEmail.putExtra(Intent.EXTRA_TEXT, "Este curso é ótimo!!!");

                startActivity(Intent.createChooser(intentEmail, "Selecione a sua aplicação de email!"));
                return false;
            }  
        });
6 respostas

Douglas, tudo bem ?

Vamos dar uma olhadinha aqui na exception que você me enviou :

 android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=geo:0,0?z=14&q=Rua Aracati }

Se vermos a exception, está falando que no dispositivo no qual você está fazendo o teste, ele não está encontrando uma activity que realize este serviço.

O que você pode fazer é, verificar se no emulador que você está testando possui o GoogleMaps instalado. E se possuir, o play services está ativo, para fazer isso você precisa apenas clicar no google maps, se ele abrir um mapa está tudo certo, contudo se mostrar uma mensagem, você precisa instalar o play services. Caso não possua, você precisa de um emulador que possua o google map, ou seja precisa de um novo emulador.

Faz esse teste aí para gente, por gentileza.

Se for isso que eu disse, me fala qual IDE você está usando, android studio ou ecplise, para eu te dar um caminho para fazer a instalação do play services.

Espero ter ajudado !

fazendo no eclipse to no curso antigo,

não tem maps.

Douglas,

O que você pode fazer é testar no seu celular, pegando o apk que é gerado. Ou partir para o Android Studio, que é a IDE que o google recomenda.

A parte de mapa não muda muita coisa.

Qualquer coisa, estamos a disposição !

Abraços

Obrigado, mas eu não tenho experiência alguma com Android, não sei fazer teste no no celular. Imagino que deve algo para exportar.

Ainda estou na segunda aula!

Douglas,

Para você deixar seu celular como emulador você precisa fazer alguns procedimentos.

Primeiro é habilitar o celular no modo de desenvolvedor. Para isso você tem que ir em configurações -> sobre o dispositivo -> ficar clicando na opção numero de compilação até mostrar uma mensagem para você dizendo que o modo de desenvolvedor foi ativo.

Feito isso, você tem que ir nas opções de desenvolvedor e deixar a depuração de usb ativa !

Agora precisamos deixar o seu eclipse preparado para reconhecer e permitir que seu celular seja utilizado como emulador. Para fazermos isso você precisa baixar Google USB Driver pelo SDK Manager.

Depois você precisa baixar o driver do seu celular !

Com isso tudo feito, quando for rodar você irá visualizar seu celular na opção de devices !

Espero ter ajudado !

solução!

Fiz assim e deu certo:

No eclipse,

Botão direito no projeto Run as > Run Configurations Aba Target Lanch on all compatible devices Apply Run.

Rodou tudo, mapas, camaras, tudo que tava dando erro no emulador.

Valeu dica