Introdução
Olá para todos participantes do curso, hoje iremos aprender como criar um aplicativo Android capaz de enviar mensagens via SMS. O programação será bem simples, com foco no resultado em si, que é tratar todos os pré-requisitos para criar, configurar, e enviar SMS a partir do seu celular.
Você poderá aplicar o que vai aprender nesta aula em seus projetos. Todo celular já tem esta funcionalidade disponível, mas é comum hoje em dia encontrar nos aplicativos o recurso de envio de SMS. Isso é uma facilidade que o aplicativo oferece para tornar a usabilidade e a experiência do usuário mais interessante.
Código Fonte
Os códigos fontes deste aplicativo você poderá efetuar o download acessando a página de download.
Se você perdeu as aulas anteriores, acesse a relação de todos as aulas e visite o canal no YouTube com a PlayList das Vídeo Aulas.
Pré-Requisitos para esta aula
Você deve ter os conhecimentos prévios listados abaixo para criar um aplicativo para envio de SMS utilizando os orientações desta aula.
- Capacidade de Criar um projeto no Android Studio;
- Capacidade de trabalhar com Intent;
- Capacidade de alterar o arquivo AndroidManifest.xml;
- Capacidade de criar um layout de formulário simples contendo os componentes de layout TextView, EditText e Button;
- Capacidade de implementar uma ação para o botão do formulário;
- Capacidade de executar o projeto em um dispositivo real ou virtual e
- Um nível básico de conhecimentos da linguagem Java.
Como fazer?
Existem duas formas de enviar SMS programaticamente na plataforma Android, a primeira delas é utilizas a API SmsManager e a segunda é utilizar o aplicativo nativo que pode estar pré-instalado no dispositivo.
Envio de SMS utilizando a API SmsManager
Esta API é responsável em gerencias as operações que envolvem SMS, tais como o envio de mensagens de texto, mensagens multimídia e dados.
O código abaixo demonstrar como é simples a sua utilização:
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("numeroDestino", null, "texto do SMS", null, null);
O método getDefault() cria um objeto estático que nos permitirá acessar o método sendTextMessage() para o envio do SMS.
Devemos informar o número do telefone do destinatário e a mensagem texto a ser enviada, no caso, representados em vermelho no código acima.
Esta informações podem vir de um formulário, de uma lista a partir de uma consulta do banco de dados SqlLite ou via uma consulta a um WebService.
Compatibilidade da API SmsManager
Com as constantes atulizações de versões do Android, a preoculpação com segurança é cada vez maior. Está API vem sendo atualizada regularmente, e pode não funcionar em algumas versões do Android. Para saber maiores detalhes sobre compatibilidade acesse a documentação oficial.
Envio de SMS utilizando um aplicativo nativo.
A melhor forma de enviar SMS é entregar esta responsabilidade para o aplicativo nativo do dispositivo. A partir da versão 4.4 KitKat do Android ficou mais trabalhoso criar um aplicativo para envio de SMS. Leia este artigo contendo mais informações a respeito.
O código abaixo exemplifica o que devemos programar na ação de um botão ENVIAR SMS por exemplo, e invocar o aplicativo nativo utilizando o método ACTION_VIEW.
Intent enviarSMS = new Intent(Intent.ACTION_VIEW)
enviarSMS.putExtra("texto da mensagem", "default content");
enviarSMS.setType("vnd.android-dir/mms-sms");
startAcvitity(enviarSMS);
Permissões do Usuário Requeridas
Este tipo de aplicativo requer a inclusão no arquivo AndroidManifest.xml a inclusão da permissão abaixo.
<uses-permission android:name="android.permission.SEND_SMS" />
Desafio aos participantes do curso
Crie dois aplicativos Android capazes de enviar SMS utilizando as opções apresentadas nesta aula. Comente o seu sucesso ou qualquer dificuldade que você encontrou. Em breve irei disponibilizar as soluções para este desafio.
Conclusão
Conforme podemos observar, criar um aplicativo para enviar SMS é uma tarefa relativamente simples, podendo ser feita de duas maneiras. É importante adicionar as permissões necessárias, caso contrário o seu projeto será instalado, porém não enviar o SMS, gerando um erro para o usuário. Vimos também que manter-se atualizado lendo sempre a documentação oficial faz parte do nosso dia-a-dia e é neessário principalmente para garantir compatibilidade do nosso aplicativo com as versões do Android.
Nenhum comentário:
Postar um comentário