Xamarin.Essentials: SMS

La clase SMS permite que una aplicación abra la aplicación SMS predeterminada con un mensaje especificado para enviar un destinatario.

Primeros pasos

Para empezar a usar esta API, lea la guía de introducción para Xamarin.Essentials con el fin de asegurarse de que la biblioteca está correctamente instalada y configurada en los proyectos.

Para acceder a la función de SMS, se requiere la siguiente configuración específica para la plataforma.

Si la versión de Android de destino del proyecto se establece en Android 11 (R API 30) , debe actualizar el manifiesto de Android con las consultas que se usan con los nuevos requisitos de visibilidad de los paquetes.

Abra el archivo AndroidManifest.xml de la carpeta Propiedades y agregue lo siguiente dentro del nodo manifest:

<queries>
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="smsto"/>
  </intent>
</queries>

Uso de SMS

Agregue una referencia a Xamarin.Essentials en la clase:

using Xamarin.Essentials;

La funcionalidad SMS funciona mediante una llamada al método ComposeAsync, un SmsMessage que contiene el destinatario del mensaje y el cuerpo del mismo, ambos opcionales.

public class SmsTest
{
    public async Task SendSms(string messageText, string recipient)
    {
        try
        {
            var message = new SmsMessage(messageText, new []{ recipient });
            await Sms.ComposeAsync(message);
        }
        catch (FeatureNotSupportedException ex)
        {
            // Sms is not supported on this device.
        }
        catch (Exception ex)
        {
            // Other error has occurred.
        }
    }
}

Si quiere, puede pasar varios destinatarios a un SmsMessage:

public class SmsTest
{
    public async Task SendSms(string messageText, string[] recipients)
    {
        try
        {
            var message = new SmsMessage(messageText, recipients);
            await Sms.ComposeAsync(message);
        }
        catch (FeatureNotSupportedException ex)
        {
            // Sms is not supported on this device.
        }
        catch (Exception ex)
        {
            // Other error has occurred.
        }
    }
}

API

Encuentre más vídeos de Xamarin en Channel 9 y YouTube.