fbpx

Integrando Aplicativo Delphi XE7 Android com Whatsapp


Não resta dúvidas que o aplicativo de mensagens instantâneas Whatsapp abocanhou grande para da comunicação por dispositivos móveis, nesta postagem veremos como acioná-lo direto de uma aplicação Delphi XE7.

Como referencia vamos utilizar o FAQ do Whatsapp, lá há a explicação de como fazer através do Android em Java, o trabalho nosso aqui fica apenas na “conversão” para Delphi. Vamos ao projeto, vamos ao Delphi XE7.

Enviando Whatsapp no Android com Delphi XE7

Delphi como sempre fizemos



No Delphi XE7 inicie um novo projeto Multi-Device Project (Como já fizemos este procedimento por diversas vezes aqui no blog, vou considerar que podemos pular essa parte).  Vamos selecionar a Target Platform Android através do Project Manager, aproveite e selecione também o Dispositivo Alvo (opção Target) para onde será feito o deploy após a compilação. Veja na imagem abaixo:

Selecionar Target Platfomr

Construindo a tela do aplicativo

Vamos construir uma interface bem simples, nela teremos apenas os componentes e propriedades como listados abaixo:

  • Edit1
    • Align –> Top
    • Text –> ”
    • ReturnKeyType –> Done
  • Image1
    • MultiResBitmap –> [Uma imagem de sua preferência]
    • WrapMode –> Stretch
  • Button1
    • Text –> ‘Enviar Whatsapp’

Como mencionei algo bem simples, apenas para fins didáticos.

Interface da Aplicação para Mensagens Whatsapp

Entendendo e codificando

Basicamente teremos no Edit1 um texto que será entregue ao Whatsapp para que ao selecionarmos o contato nele a mensagem seja enviada. Agora que já temos o conceito vamos codificar.

Vale lembrar que devemos mais uma vez fazer uso dos Namespaces ou Units para utilização dos recursos do Android no Delphi, para tal na seção implementation insira os:

implementation

{$R *.fmx}
uses
  FMX.Helpers.Android, Androidapi.Jni.GraphicsContentViewText,
  Androidapi.Jni.Net, Androidapi.Jni.JavaTypes, idUri, Androidapi.Jni,
  Androidapi.JNIBridge, Androidapi.Helpers;

Feito isso, no OnClick do Button1 vamos inserir o código abaixo:

procedure TForm1.Button1Click(Sender: TObject);
var
  IntentWhats : JIntent;
  mensagem : string;
begin
  if Edit1.Text.IsEmpty then
    mensagem := 'Teste de envio do Whatsapp com Delphi XE7. '+ #13 +
        'Confira mais no blog www.landersongomes.com.br/'
  else
    mensagem := Edit1.Text;


  IntentWhats := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_SEND);
  IntentWhats.setType(StringToJString('text/plain'));
  IntentWhats.putExtra(TJIntent.JavaClass.EXTRA_TEXT,
      StringToJString(mensagem));
  IntentWhats.setPackage(StringToJString('com.whatsapp'));
  SharedActivity.startActivity(IntentWhats);

end;

Confira o resultado

Bem basta compilar e testar, confira nas imagens abaixo que funcionou perfeitamente. Parte que ainda não obtive sucesso foi selecionar o contato previamente, porém continuarei tentando e conseguindo subo uma atualização.

Como pode ver o mecanismo utilizado para efetuar a comunicação do nosso aplicativo com o Whatsapp é o que já citamos aqui no blog inúmeras vezes: Intents, vale a pena ficar por dentro desse tema, que inclusive foi o tema de minha palestra na Embarcadero Conference 2014.

Até a próxima!

,

Comente