发送短信

本主题向你展示如何启动撰写短信对话框以允许用户发送短信。 你可以在显示该对话框之前,使用数据预填充短信的字段。 该消息将在用户点击发送按钮后发出。

要调用此代码,请在包清单中声明 chatsmsSend 和d chatSystem 功能。 这些是受限功能,但你可以在应用中使用它们。 仅当你打算将应用发布到 Microsoft Store 时才需要批准。 请参阅帐户类型、位置和费用

启动撰写短信对话框

创建新 ChatMessage 对象,并设置你要在撰写电子邮件对话框中预填充的数据。 调用 ShowComposeSmsMessageAsync 显示对话框。

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

可以使用以下代码来确定运行应用的设备是否能够发送 SMS 消息。

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

总结和后续步骤

本主题已向你展示如何启动撰写短信对话框。 有关选择用作短信接收方的联系人的信息,请参阅选择联系人。 从 GitHub 下载通用 Windows 应用示例来查看更多有关如何使用后台任务发送和接收短信的示例。