Post: [Delphi Android Intent] Compartilhando mensagem no WhatsApp

Alessandro Medeiros

Fala Radizeiro e Radizeira, tudo bem com vocês?

No post de hoje nós iremos ver como utilizar alguns recursos do Android.

Algumas técnicas bem legais, que podemos fazer dentro do Android.

E mais especificamente nós iremos ver como utilizar o Intents do Android no Delphi.

O Intent é um recurso do Android utilizado para compartilhar informações entre aplicativos.

E neste post nós iremos ver como mandar um texto já formatado para um contato no WhatsApp.

E isso você verá como é muito fácil.

E isso é muito legal, onde você pode ter um botão dentro do seu app, ou um recurso, que compartilhe algo, e a pessoa seleciona um contato e envia o que precisa para ele.

E para criarmos, vamos primeiro criar um exemplo aqui Andorid.

Tudo dentro do Android, praticamente são as intents.

A forma como o Android troca informações entre seus aplicativos.

E o Delphi nos permite utilizar essas intents.

Nesse nosso exemplo adicionei um ToolBar, Button, Labels, Edit.

Esse será o nosso app.

Vamos para dentro do código.

Primeira coisa que precisamos fazer é importar algumas uses próprias para trabalharmos com as intents.

E essas uses são: Androidapi.Jni.Net, Androidapi.Jni.JavaTypes, Androidapi.Jni, Androidapi.JNIBridge, Androidapi.Helpers, FMX.Helpers.Android, Androidapi.Jni.GraphicsContentViewText.

Essas são as uses que iremos precisar para utilizar as intents.

Agora vamos adicionar uma ação dentro desse nosso botão de compartilhamento de mensagem pelo Whatsapp.

procedure TForm1.Button1Click(Sender: TObject);
var
WhatsApp : JIntent;
begin
WhatsApp := TJIntent.JavaClass.init(TJintent.JavaClass.ACTION_SEND);
WhatsApp.setType(StringToJString('text/plain'));
WhatsApp.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString('Mensagem compartilhada pelo post blog: ' + Edit1.Text));

Observe que criei uma variável chamada WhatsApp do tipo JIntent, essa variável será a responsável por comunicar com o Whasapp.

Logo em seguida eu instancie esse objeto WhatsApp, mas observe na imagem abaixo que a classe TJintent.JavaClass tem diversas ações.

Essas são ações que podemos realizar no Android através das Intents.

Através das intents podemos programar, por exemplo, o despertador do relógio.

Você pode observar nessa lista que são muitas possibilidades.

Nossa aplicação está configurada para receber esse tipo de action.

Se observar no código acima, utilizamos a ação de send.

Durante essa implementação eu tive que informar o tipo de informação que gostaria de enviar para o WhatsApp.

E logo em seguida enviamos a mensagem propriamente dita.

Mas se você observar até agora não enviamos nada para o WhatsApp em si.

Declaramos uma variável com esse nome, mas não informamos para o Android qual app iremos solicitar esse envio de mensagem.

E para que possamos indicar qual app irá receber essa informação informando o nome do pacote da aplicação.

Se observarmos dentro das informações do próprio Delphi, onde temos um nome de um pacote.

Assim também todas as aplicações feitas para o Android, possuem um pacote.

Quando você quer trabalhar com intents, mandando um tipo de informação, para uma aplicação específica, precisa saber o nome do seu pacote.

Então para que possamos enviar para o WhatsApp, iremos utilizar o pacote que é com.whatsapp.

...
var
WhatsApp : JIntent;
begin
WhatsApp := TJIntent.JavaClass.init(TJintent.JavaClass.ACTION_SEND);
WhatsApp.setType(StringToJString('text/plain'));
WhatsApp.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString('Mensagem compartilhada pelo post blog: ' + Edit1.Text));
WhatsApp.setPackage(StringToJString('com.whatsapp'));
...

Desta forma estou informando mensagem que irá ser enviada, WhatsApp.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(‘Mensagem compartilhada pelo post blog: ‘ + Edit1.Text)) , no formato de texto, WhatsApp.setType(StringToJString(‘text/plain’)).

Logo em seguida eu chamo a função que irá de fato chamar esse intents, SharedActivityContext.startActivity(WhatsApp).

Feito isso, nossa aplicação manda uma mensagem para o nosso WhatsApp.

De forma simples estamos trabalhando com os intents do Android.

E caso você tem interesse de conhecer mais sobre Android Intent no Delphi acesse o nosso portal do CLUBE DE PROGRAMADORES EM DELPHI.

Você não terá só conteúdos relacionados ao Android Intent, mas uma quantidade enorme de conteúdos que poderá lhe ajudar muito no seu dia a dia, é uma verdadeira NETFLIX para os programadores Delphi.

CLIQUE AQUI E SAIBA MAIS SOBRE O CLUBE DOS PROGRAMADORES DELPHI


Faça sua busca

CATEGORIAS

POSTS RECENTES

E caso você tem interesse de conhecer mais sobre [Delphi Android Intent] Compartilhando mensagem no WhatsApp, acesse o nosso portal do CLUBE DE PROGRAMADORES EM DELPHI
Você não terá só conteúdos relacionados ao [Delphi Android Intent] Compartilhando mensagem no WhatsApp, mas uma quantidade enorme de conteúdos que poderá lhe ajudar muito no seu dia a dia, é uma verdadeira NETFLIX para os programadores Delphi.
Gostou?
Compartilhe:

Embarque no foguete com milhares de devs para aprender desenvolvimento, evoluir de forma contínua e se manter relevante no mercado.

Dúvidas
Cadastre-se em nossa lista

Para ter acesso em primeira mão, a tudo que acontece na Academia do Código, basta se cadastrar em nossa lista

Grupo Thulio Bittencourt | Academia do Código

#FaçaPartedaHistória

Copyright © 2024 – Todos os direitos reservados