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.xml
archivo y agregue el código de diseño. activity_main.xml
contiene 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