Whatsapp es una de las aplicaciones de mensajería más populares. Muchas aplicaciones de Android necesitan la funcionalidad para compartir algunos mensajes directamente desde su aplicación a WhatsApp. Por ejemplo, si un usuario desea compartir la aplicación o compartir un mensaje de la aplicación, entonces se utiliza esta función. Cualquiera de los usuarios puede enviar un texto o también se puede enviar un texto predefinido a través de este. Este artículo demuestra cómo una aplicación de Android puede enviar mensajes en WhatsApp. Whatsapp debe estar instalado en el dispositivo del usuario.
Acercarse
Paso 1: abra el archivo activity_main.xml y agregue el código de diseño. Se agrega un contenedor de entrada de mensaje como EditText y un botón para enviar este mensaje.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:orientation="vertical"> <!-- EditText to take message input from user--> <EditText android:id="@+id/message" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="16dp" android:hint="Enter you message here" android:lines="8" android:inputType="textMultiLine" android:gravity="left|top" /> <!-- Button to send message on Whatsapp--> <Button android:id="@+id/submit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Submit" android:background="@color/colorPrimary" android:textColor="@android:color/white"/> </LinearLayout>
Paso 2: Tome la referencia de EditText y Button en el archivo Java. Las referencias se toman utilizando los identificadores con la ayuda del método findViewById().
- Tomando referencia a EditText
EditText mensajeEditText = findViewById(R.id.message);
- Tomando como referencia el Botón
Botón enviar = findViewById(R.id.submit);
Paso 3: Función de escritura para enviar mensajes a whatsapp. Cree una intención con ACTION_SEND y especifique el nombre del paquete de WhatsApp para que abra WhatsApp directamente.
com.whatsapp es el nombre del paquete para la aplicación oficial de WhatsApp.
private void sendMessage(String message) { // Creating new intent Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.setPackage("com.whatsapp"); // Give your message here intent.putExtra( Intent.EXTRA_TEXT, message); // Checking whether Whatsapp // is installed or not if (intent .resolveActivity( getPackageManager()) == null) { Toast.makeText( this, "Please install whatsapp first.", Toast.LENGTH_SHORT) .show(); return; } // Starting Whatsapp startActivity(intent); }
Paso 4: Configure onClickListener en el botón. Toma el texto ingresado por el usuario y llama a la función sendMessage en la que se envía el mensaje de texto como parámetro.
submit.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { // Getting the text // from edit text String message = messageEditText .getText() .toString(); // Calling the function // to send message sendMessage(message); } });
A continuación se muestra el archivo MainActivity.java completo :
MainActivity.java
package com.gfg; import androidx.appcompat .app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Taking reference of Edit Text final EditText messageEditText = findViewById(R.id.message); // Taking reference to button Button submit = findViewById(R.id.submit); submit.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { // Getting the text // from edit text String message = messageEditText .getText() .toString(); // Calling the function // to send message sendMessage(message); } }); } private void sendMessage(String message) { // Creating new intent Intent intent = new Intent( Intent.ACTION_SEND); intent.setType("text/plain"); intent.setPackage("com.whatsapp"); // Give your message here intent.putExtra( Intent.EXTRA_TEXT, message); // Checking whether Whatsapp // is installed or not if (intent .resolveActivity( getPackageManager()) == null) { Toast.makeText( this, "Please install whatsapp first.", Toast.LENGTH_SHORT) .show(); return; } // Starting Whatsapp startActivity(intent); } }
Producción:
Publicación traducida automáticamente
Artículo escrito por aman neekhara y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA