fbpx

Delphi XE5 Enviando SMS direto de sua aplicação Android

Acionando Opções

Nessa postagem vamos enviar SMS através de uma aplicação Delphi XE5 para Android. Poucas linhas de códigos que podem ser adaptadas à realidade de sua aplicação mobile e torná-la ainda mais agradável a seus usuários.

Criação da Interface da aplicação e Conceder Permissão para Envio de SMS

Inicie o Delphi XE5 e crie um novo projeto Mobile em Branco como já fizemos em outras postagens, acesse Menu File –> New –> FireMonkey Mobile Application e em seguida selecione a opção Blank Template .

Vamos inserir em nosso formulário 1 Label, 1 Edit, 1 Memo e 1 Button. Alteraremos a propriedade Text do Label para “Destinatário”. Ao final teremos a interface da aplicação assemelhando-se à figura abaixo:

 

Interface da Aplicação

Como vamos enviar SMS, precisamos solicitar essa permissão ao Android. Abre-se aqui um parêntese,  quando você instala uma aplicação no Android ele sempre informa os recursos que essa aplicação vai usar, por isso vamos setar a permissão para Envio de SMS como verdadeira. No Project Manager selecione o nosso Projeto e clique com o botão direito para que seja exibido o Popup Menu e nele selecione Options (a penúltima opção do menu popup).

Acionando Opções

As opções do Projeto serão abertas e aí procuraremos por Uses Permissions, note que no quadro à direita estão todas as opções de permissões possíveis a um projeto Android. Vamos procurar nas permissões por Send SMS e setá-la para True, ou seja, acabamos de dizer para o Android que usaremos o envio de SMS.

Permissões Android - Envio SMS

 

Feito isso basta clicar em OK e vamos iniciar a codificação de nosso projeto.

Código Delphi… funcionalidade Android

Na seção Implementation, em sua cláusula uses vamos adicionar 2 Namespaces que fazem referências a Classes Android e farão com que nosso projeto se comunique com o telefone e reconheça os tipos de dados do Android/Java, são eles respectivamente abaixo:

implementation
{$R *.fmx}
uses   Androidapi.Jni.Telephony, Androidapi.Jni.JavaTypes;

 

No evento OnClick do Button vamos inserir o seguinte código:

procedure TForm1.btnEnviarClick(Sender: TObject);
var
  GerenciadorSMS : JSmsManager;
begin
  GerenciadorSMS := TJSmsManager.JavaClass.getDefault;
  if not Edit1.Text.IsEmpty then
    begin
      if not Memo1.Lines.Text.IsEmpty then
        GerenciadorSMS.sendTextMessage(StringToJString(Edit1.Text), nil, StringToJString(Memo1.Lines.Text), nil, nil )

      else
        ShowMessage('Escreva a mensagem.');
    end
  else
    ShowMessage('Informe o número de destino para a mensagem.');

end;

Já está pronta nossa aplicação. Acione o Emulador ou conecte um dispositivo Android e execute para conferir o funcionamento.

Traga para sua realidade

Na minha postagem Delphi XE5 Efetuando chamadas telefônicas direto de sua aplicação móvel, populamos um ListBox com elementos de um cadastro de fornecedores fictício e a partir dali efetuávamos chamadas telefônicas. Na postagem de hoje, poderíamos pensar de igual forma, com um cadastro de Gerentes ou Vendedores de sua empresa por exemplo e que você precise enviar  um SMS a eles.

Enfim, a facilidade está disponível, adapte-a à realidade de seu usuário.

Até a próxima.

 

 

 

,

Comente