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

Exception ao abrir aplicação de envio de SMS

Quase todos os recursos implementados no app funcionaram, inclusive o ACTION_CALL que exigiu um tratamento maior e a solicitação das permissões.

Meu problema foi ao clicar no menu de contexto para enviar sms.

Meu código está assim:

MenuItem itemSms = menu.add("Enviar SMS");
        Intent enviaSms = new Intent(Intent.ACTION_VIEW);
        enviaSms.setData(Uri.parse("SMS: "+aluno.getTelefone()));
        itemSms.setIntent(enviaSms);

A exception reportada no log é a seguinte:

09-08 17:23:34.576 21983-21983/br.com.alura.agenda E/MenuItemImpl: Can't find activity to handle intent; ignoring
                                                                   android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=SMS:xxxxxxxxx }
                                                                       at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1781)
                                                                       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1501)
                                                                       at android.app.Activity.startActivityForResult(Activity.java:3788)
                                                                       at android.app.Activity.startActivityForResult(Activity.java:3749)
                                                                       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:843)
                                                                       at android.app.Activity.startActivity(Activity.java:4059)
                                                                       at android.app.Activity.startActivity(Activity.java:4027)
                                                                       at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:163)
                                                                       at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:904)
                                                                       at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:894)
                                                                       at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:167)
                                                                       at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:1100)
                                                                       at android.widget.AdapterView.performItemClick(AdapterView.java:305)
                                                                       at android.widget.AbsListView.performItemClick(AbsListView.java:1146)
                                                                       at android.widget.AbsListView$PerformClick.run(AbsListView.java:3057)
                                                                       at android.widget.AbsListView$3.run(AbsListView.java:3864)
                                                                       at android.os.Handler.handleCallback(Handler.java:739)
                                                                       at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                       at android.os.Looper.loop(Looper.java:135)
                                                                       at android.app.ActivityThread.main(ActivityThread.java:5268)
                                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                                       at java.lang.reflect.Method.invoke(Method.java:372)
                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902)
                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697)

Agradeço e aguardo qualquer ajuda.

2 respostas
solução!

Olá Vinícius,

De acordo com o erro ele não conseguiu encontrar nenhum aplicativo para tratar a intent com ação "VIEW" e dados "SMS:xxxxxxxxx". Aparentemente o que está errado aqui é o "SMS:" escrito com letras maiúsculas já que o aplicativo para envio de SMS certamente existe no emulador e também em qualquer dispositivo real.

Tente modificar o "SMS:" por "sms:" e faça o teste novamente. (tenta tirar também o espaço em branco logo depois do ":" )

Perfeito Jeferson, era isto mesmo. Após realizar os ajustes propostos a aplicação funcionou perfeitamente.

Muito obrigado pela resposta e principalmente pela agilidade.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software