Envoyer un message SMS

Cette rubrique vous montre comment lancer la boîte de dialogue de rédaction d’un message SMS pour permettre à l’utilisateur d’envoyer un message SMS. Vous pouvez préremplir les champs du message SMS avec des données avant d’afficher la boîte de dialogue. Le message ne sera pas envoyé tant que l’utilisateur n’aura pas appuyé sur le bouton d’envoi.

Pour appeler ce code, déclarez les fonctionnalités chat, smsSend et chatSystem dans votre manifeste de package. Il s’agit de fonctionnalités restreintes, mais vous pouvez les utiliser dans votre application. Vous n’avez besoin d’approbation que si vous envisagez de publier votre application dans le Windows Store. Consultez les types de comptes, les emplacements et les frais.

Lancer la boîte de dialogue Composer SMS

Créez un objet ChatMessage et définissez les données que vous souhaitez préremplies dans la boîte de dialogue composer un e-mail. Appelez ShowComposeSmsMessageAsync pour afficher la boîte de dialogue.

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

Vous pouvez utiliser le code suivant pour déterminer si l’appareil exécutant votre application est en mesure d’envoyer des sms.

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

Résumé et étapes suivantes

Cette rubrique vous a montré comment lancer la boîte de dialogue Composer SMS. Pour plus d’informations sur la sélection de contacts à utiliser comme destinataires pour un sms, consultez Sélectionner des contacts. Téléchargez les exemples d’applications Windows universelles à partir de GitHub pour voir d’autres exemples d’envoi et de réception de sms à l’aide d’une tâche en arrière-plan.