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. Essas são funcionalidades restritas, mas você pode usá-las em seu aplicativo. Você só precisará de aprovação se pretende publicar seu aplicativo na Loja. Confira Tipos de conta, locais e taxas.

Iniciar a caixa de redação de SMS

Crie um novo objeto ChatMessage e defina os dados que você quer que sejam previamente preenchidos na caixa de redaçã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 redação de SMS. Para obter informações sobre como selecionar contatos para usar como destinatários de uma mensagem SMS, consulte Selecionar contatos. Baixe as amostras de aplicativo Universal do Windows do GitHub para ver mais exemplos de como enviar e receber mensagens SMS usando uma tarefa em segundo plano.