Condividi tramite


Inviare un messaggio SMS

Questo argomento mostra come lanciare la finestra di dialogo di composizione degli SMS per consentire all'utente di inviare un messaggio SMS. È possibile pre-popolare i campi dell’SMS con i dati prima di mostrare la finestra di dialogo. Il messaggio non sarà inviato finché l'utente non avrà toccato il pulsante di invio.

Per chiamare questo codice, dichiarare le funzionalità chat, smsSend e chatSystem nel manifesto del pacchetto. Queste sono funzionalità limitate, ma si possono usare nella propria app. È necessaria l'approvazione solo se si intende pubblicare l'app nello Store. Vedere Tipi di account, aree geografiche e tariffe.

Avviare la finestra di dialogo di composizione di un messaggio SMS

Creare un nuovo oggetto EmailMessage e impostare i dati che si desidera precompilare nella finestra di dialogo di composizione del messaggio SMS. Chiamare ShowComposeSmsMessageAsync per visualizzare la finestra di dialogo.

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

È possibile usare il codice seguente per determinare se il dispositivo che esegue l'app è in grado di inviare messaggi SMS.

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

Riepilogo e passaggi successivi

In questo argomento è stato illustrato come avviare la finestra di dialogo di composizione di un messaggio SMS. Per informazioni sulla selezione dei contatti da usare come destinatari per un messaggio SMS, vedere Selezionare i contatti. Scaricare gli esempi di app di Windows universale da GitHub per visualizzare altri esempi di come inviare e ricevere messaggi SMS usando un'attività in background.