Отправка SMS-сообщения

В этом разделе показано, как запустить диалоговое окно создания SMS, чтобы разрешить пользователю отправлять SMS-сообщение. Перед отображением диалогового окна можно предварительно заполнить поля SMS данными. Сообщение не будет отправлено, пока пользователь не нажимает кнопку отправки.

Чтобы вызвать этот код, объявите возможности чата, smsSendи chatSystem в манифесте пакета. Это ограниченные функции, но их можно использовать в вашем приложении. Вам нужно утверждение только в том случае, если вы планируете опубликовать приложение в Магазине. См. типы учетных записей, местоположения и платы.

Запуск диалогового окна создания SMS

Создайте объект ChatMessage и заполните заранее нужными данными в окне создания письма. Вызовите ShowComposeSmsMessageAsync, чтобы отобразить диалоговое окно.

private async void ComposeSms(Windows.ApplicationModel.Contacts.Contact recipient,
    string messageBody,
    StorageFile attachmentFile,
    string mimeType)
{
    var chatMessage = new Windows.ApplicationModel.Chat.ChatMessage();
    chatMessage.Body = messageBody;

    if (attachmentFile != null)
    {
        var stream = Windows.Storage.Streams.RandomAccessStreamReference.CreateFromFile(attachmentFile);

        var attachment = new Windows.ApplicationModel.Chat.ChatMessageAttachment(
            mimeType,
            stream);

        chatMessage.Attachments.Add(attachment);
    }

    var phone = recipient.Phones.FirstOrDefault<Windows.ApplicationModel.Contacts.ContactPhone>();
    if (phone != null)
    {
        chatMessage.Recipients.Add(phone.Number);
    }
    await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(chatMessage);
}

Следующий код можно использовать для определения того, может ли устройство, на котором запущено приложение, отправлять SMS-сообщения.

if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.ApplicationModel.Chat"))
{
   // Call code here.
}

Сводка и дальнейшие действия

В этом разделе показано, как запустить диалоговое окно создания SMS. Сведения о выборе контактов для использования в качестве получателей SMS-сообщения см. в разделе Выбор контактов. Скачайте примеры универсальных приложений Windows из GitHub, чтобы просмотреть дополнительные примеры отправки и получения SMS-сообщений с помощью фоновой задачи.