Integrar Whatsapp con Delphi


A continuación vamos a ver cómo enviar un texto desde vuestra app a la popular aplicación de mensajería.


Empezamos con nuestro RAD STUDIO XE, desde el menú File-New-Multi Device Application Delphi, para crear un nuevo proyecto que almacenaremos en una carpeta de nuestro PC







En la pantalla siguiente tenemos que elegir entre varias opciones, si queremos que aparezca un form en blanco, o si queremos uno con toolbars de cabecera y pie, etc... en nuestro caso seleccionamos el icono blank application













Después desde la "Tool Palette" seleccionamos dos objetos:





- tEdit ,  propiedad Name="Edit1"


- tButton,  propiedad Name="Button1"





En la propiedad Text del tEdit escribimos "Hola desde RAD STUDIO XE", y en la propiedad Text del tButton tecleamos "Enviar a Whatsapp" y nos quedará de la siguiente forma:













Por otra parte, recordar que al tratarse de un proyecto Android hay que añadir ciertas units, en el uses del proyecto.



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







Hacemos doble clic sobre el tButton para modificar el evento "onclic"  y añadimos el siguiente trozo de código:



procedure TForm2.Button1Click(Sender: TObject);
var
Intent1 : JIntent;

begin

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



Bien, pues ahora nos queda ejecutarlo y veremos cómo funciona perfectamente.


Al pulsar el botón se abre automáticamente Whatsapp y nos solicita que seleccionemos un contacto, para después mostrarnos dentro de su chat el texto "Hola desde RAD STUDIO XE"













 

 





7 comentarios:

  1. Muchas Gracias excelente ejemplo, es posible enviar el nombre del detinatorio directamente ? gracias

    ResponderEliminar
  2. Creo que no es posible

    ResponderEliminar
  3. Tem como criar um chatbot a partir disso?

    ResponderEliminar
  4. Hay como hacerlo desde 32 o 64 bits para windows?

    ResponderEliminar
  5. Excelente!!! Cómo hacer para escoger entre whatsapp, sms, telegram, messanger, etc

    ResponderEliminar
    Respuestas
    1. prueba a poner
      Intent1.setPackage(StringToJString('com.telegram'));

      Eliminar

Simulación del movimiento de los electrones en un campo electrico

Espectacular simulación realizada con OpenGL del movimiento de los electrones cuando atraviesan un campo eléctrico. Como muestra la image...