Xamarin.Essentials:СМС
Класс Sms позволяет приложению открыть приложение SMS по умолчанию с указанным сообщением, которое нужно отправить получателю.
Начало работы
Чтобы начать использовать этот API, ознакомьтесь с руководством по началу работы с Xamarin.Essentials, чтобы правильно настроить и установить библиотеку в проектах.
Для доступа к функции Sms нужно создать описанную ниже конфигурацию для конкретной платформы.
Если целевой версией Android для проекта является Android 11 (API R 30), необходимо обновить манифест Android с помощью запросов, которые используются с новыми требованиями к видимости пакета.
Откройте файл AndroidManifest.xml в папке Properties и добавьте приведенный ниже код в узел manifest:
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="smsto"/>
</intent>
</queries>
Использование класса Sms
Добавьте ссылку на Xamarin.Essentials в своем классе:
using Xamarin.Essentials;
Для отправки SMS нужно вызвать метод ComposeAsync
класса SmsMessage
, передав получателя и тело сообщения. Оба параметра являются необязательными.
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.
}
}
}
Дополнительно в метод 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.
}
}
}