Cómo enviar mensajes en WhatsApp en Android usando Kotlin

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.

En este artículo, intentaremos crear una aplicación para Android que envíe mensajes en WhatsApp usando Kotlin.

Nota: Para ver cómo hacer esto en Java, consulte Cómo enviar mensajes en WhatsApp en Android usando Java .

Acercarse

Paso 1: modificar el archivo activity_main.xml
Abra el activity_main.xmlarchivo y agregue el código de diseño. activity_main.xmlcontiene un diseño lineal que contiene un texto de edición para ingresar el mensaje y un botón para enviar el mensaje.

activity_main.xml

<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: trabajar con el archivo MainActivity.kt

  • Tome la referencia de EditText y Button en el archivo Kotlin. Las referencias se toman utilizando los identificadores con la ayuda del findViewById()método.

    Tomando referencia de EditText

    // Haciendo referencia al texto de edición
    val messageEditText = findViewById<EditText>(R.id.message)

    Del mismo modo tomando referencia del botón

    // Haciendo referencia al botón
    val submit = findViewById<Button>(R.id.submit)

  • Escribe una función para enviar mensajes a WhatsApp. Cree una intención con ACTION_SEND y especifique el nombre del paquete de WhatsApp para que se abra directamente. com.whatsapp es el nombre del paquete de la aplicación oficial de WhatsApp.

    fun sendMessage(message:String){
      
             // Creating intent with action send
             val intent = Intent(Intent.ACTION_SEND)
      
             // Setting Intent type
             intent.type = "text/plain"
      
             // Setting whatsapp package name
             intent.setPackage("com.whatsapp")
      
             // Give your message here
             intent.putExtra(Intent.EXTRA_TEXT, message)
      
             // Checking whether whatsapp is installed or not
             if (intent.resolveActivity(packageManager) == null) {
                 Toast.makeText(this
                                "Please install whatsapp first."
                                Toast.LENGTH_SHORT).show()
                 return
             }
      
             // Starting Whatsapp
             startActivity(intent)
         }
  • Configure el detector de clics usando setOnClickListener en el botón para enviar el mensaje. Obtenga el texto ingresado por el usuario y llame a la función para enviar mensajes en whatsapp.

    // Setting on click listener
    submit.setOnClickListener {
        val message = messageEditText.text.toString()
     
    // Calling the function
        sendMessage(message);
    }

A continuación se muestra el archivo MainActivity.kt completo

MainActivity.kt

package com.gfg
  
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Referencing the Edit Text
        val messageEditText = findViewById<EditText>(R.id.message)
  
        // Referencing the button
        val submit = findViewById<Button>(R.id.submit)
  
        // Setting on click listener
        submit.setOnClickListener {
            val message = messageEditText.text.toString()
  
        // Calling the function
        sendMessage(message);
        }
    }
  
    fun sendMessage(message: String) {
  
        // Creating intent with action send
        val intent = Intent(Intent.ACTION_SEND)
  
        // Setting Intent type
        intent.type = "text/plain"
  
        // Setting whatsapp package name
        intent.setPackage("com.whatsapp")
  
        // Give your message here
        intent.putExtra(Intent.EXTRA_TEXT, message)
  
        // Checking whether whatsapp is installed or not
        if (intent.resolveActivity(packageManager) == 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *