Xamarin.Essentials:SMS

Klasa Sms umożliwia aplikacji otwieranie domyślnej aplikacji SMS z określoną wiadomością do wysłania do adresata.

Rozpocznij

Aby rozpocząć korzystanie z tego interfejsu API, przeczytaj przewodnik wprowadzający , Xamarin.Essentials aby upewnić się, że biblioteka jest prawidłowo zainstalowana i skonfigurowana w projektach.

Aby uzyskać dostęp do funkcji wiadomości SMS , wymagana jest następująca konfiguracja specyficzna dla platformy.

Jeśli docelowa wersja systemu Android projektu jest ustawiona na Android 11 (R API 30), musisz zaktualizować manifest systemu Android za pomocą zapytań, które są używane z nowymi wymaganiami dotyczącymi widoczności pakietu.

Otwórz plik AndroidManifest.xml w folderze Właściwości i dodaj następujące elementy w węźle manifestu:

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

Korzystanie z wiadomości SMS

Dodaj odwołanie do Xamarin.Essentials klasy:

using Xamarin.Essentials;

Funkcja sms działa przez wywołanie ComposeAsync metody SmsMessage , która zawiera adresata wiadomości i treść wiadomości, które są opcjonalne.

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.
        }
    }
}

Ponadto można przekazać wiele receipients do elementu 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.
        }
    }
}

interfejs API

Więcej filmów na platformie Xamarin można znaleźć w witrynach Channel 9 i YouTube.