Condividi tramite


Inviare un messaggio SMS

In questo argomento viene illustrato come avviare la finestra di dialogo compose SMS per consentire all'utente di inviare un messaggio SMS. È possibile precompilare i campi dell'SMS con i dati prima di visualizzare la finestra di dialogo. Il messaggio non verrà inviato finché l'utente non tocca il pulsante di invio.

Per chiamare questo codice, dichiarare le funzionalità di chat , smsSende chatSystem nel manifesto del pacchetto. Si tratta di funzionalità limitate, ma puoi usarle nella tua app. È necessaria l'approvazione solo se si intende pubblicare l'app nello Store. Consulta Tipi di account, località e tariffe.

Avvia la finestra di dialogo di composizione SMS

Creare un nuovo oggetto ChatMessage e impostare i dati da precompilare nella finestra di dialogo compose email. 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);
}

Puoi 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 compose 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.