SMS Manager es una clase en Android que se utiliza para enviar SMS a un contacto específico desde la aplicación de Android. Podemos enviar mensajes de texto, mensajes de datos y mensajes multimedia utilizando esta clase. Hay diferentes métodos que se proporcionan para enviar diferentes tipos de mensajes. En este artículo, veremos cómo implementar SMS Manager en Android usando Kotlin. A continuación se muestra un video de muestra para tener una idea de lo que vamos a hacer en este artículo.
Nota : si está buscando usar el administrador de SMS en la aplicación de Android usando JAVA. Consulta el siguiente artículo: Enviar SMS en Android usando Java
Implementación paso a paso
Paso 1: crea un nuevo proyecto en Android Studio
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Kotlin como lenguaje de programación.
Paso 2: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml . Se agregan comentarios dentro del código para comprender el código con más detalle.
XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <!--on below line we are displaying a simple text view--> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginStart="10dp" android:layout_marginTop="30dp" android:layout_marginEnd="10dp" android:padding="10dp" android:text="SMS Manager App" android:textAlignment="center" android:textColor="@color/black" android:textSize="20sp" /> <!--on below line we are creating a simple edit text for phone number--> <EditText android:id="@+id/idEdtPhone" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="10dp" android:layout_marginTop="20dp" android:layout_marginEnd="10dp" android:hint="Enter phone number" android:inputType="phone" /> <!--on below line we are creating a message edit text for message--> <EditText android:id="@+id/idEdtMessage" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="10dp" android:layout_marginTop="20dp" android:layout_marginEnd="10dp" android:hint="Enter Message" /> <!--on below line we are creating a button for sending message--> <Button android:id="@+id/idBtnSendMessage" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="10dp" android:layout_marginTop="20dp" android:layout_marginEnd="10dp" android:padding="5dp" android:text="Send Message" android:textAllCaps="false" /> </LinearLayout>
Paso 3: trabajar con el archivo MainActivity.kt
Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.
Kotlin
package com.gtappdevelopers.kotlingfgproject import android.os.Bundle import android.telephony.SmsManager import android.widget.Button import android.widget.EditText import android.widget.Toast import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { // on below line we are creating variable // for edit text phone and message and button lateinit var phoneEdt: EditText lateinit var messageEdt: EditText lateinit var sendMsgBtn: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // initializing variables of phone edt, // message edt and send message btn. phoneEdt = findViewById(R.id.idEdtPhone) messageEdt = findViewById(R.id.idEdtMessage) sendMsgBtn = findViewById(R.id.idBtnSendMessage) // adding on click listener for send message button. sendMsgBtn.setOnClickListener { // on below line we are creating two // variables for phone and message val phoneNumber = phoneEdt.text.toString() val message = messageEdt.text.toString() // on the below line we are creating a try and catch block try { // on below line we are initializing sms manager. val smsManager: SmsManager = SmsManager.getDefault() // on below line we are sending text message. smsManager.sendTextMessage(phoneNumber, null, message, null, null) // on below line we are displaying a toast message for message send, Toast.makeText(applicationContext, "Message Sent", Toast.LENGTH_LONG).show() } catch (e: Exception) { // on catch block we are displaying toast message for error. Toast.makeText(applicationContext, "Please enter all the data.."+e.message.toString(), Toast.LENGTH_LONG) .show() } } } }
Paso 4: Agregar permiso para enviar SMS en AndroidManifest.xml
Navegue hasta manifiesto > AndroidManifest.xml y agregue los siguientes permisos en él.
XML
<!--on below line we are adding sms permissions--> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.SEND_SMS" /> <dist:module dist:instant="true" />
Ahora ejecute su aplicación para ver el resultado.
Producción:
Publicación traducida automáticamente
Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA