Enviar uma mensagem SMS

Este tópico mostra como iniciar a caixa de diálogo de SMS para permitir que o usuário envie uma mensagem SMS. Você pode previamente preencher os campos de SMS com dados antes de mostrar a caixa. A mensagem não será enviada até que o usuário toque no botão enviar.

Para chamar esse código, declare os recursos chat, smsSend e chatSystem no manifesto do pacote. Esses são recursos restritos, mas você pode usá-los em seu aplicativo. Você só precisará de aprovação se pretende publicar seu aplicativo na Loja. Consulte Tipos de conta, locais e taxas.

Inicie a caixa de diálogo de composição de SMS

Crie um novo objeto ChatMessage e defina os dados que você deseja que sejam pré-preenchidos na caixa de diálogo de composição de email. Chame ShowComposeSmsMessageAsync para mostrar a caixa de diálogo.

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);
}

Você pode usar o código a seguir para determinar se o dispositivo que está executando seu aplicativo é capaz de enviar mensagens SMS.

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

Resumo e próximas etapas

Este tópico mostrou como iniciar a caixa de diálogo de composição de SMS. Para obter informações sobre como selecionar contatos para usar como destinatários de uma mensagem SMS, consulte Selecionar contatos. Baixe os exemplos de aplicativos universais do Windows do GitHub para ver mais exemplos de como enviar e receber mensagens SMS usando uma tarefa em segundo plano.