SMS 메시지 보내기

이 항목에서는 사용자가 SMS 메시지를 보낼 수 있도록 SMS 작성 대화 상자를 시작하는 방법을 보여 줍니다. 대화 상자를 표시하기 전에 SMS 필드를 데이터로 미리 채울 수 있습니다. 사용자가 보내기 단추를 탭할 때까지 메시지는 전송되지 않습니다.

이 코드를 호출하려면 패키지 매니페스트에서 chat, smsSendchatSystem 기능을 선언합니다. 제한된 기능이지만 앱에서 사용할 수 있습니다. 스토어에 앱을 게시하려는 경우에만 승인이 필요합니다. 계정 유형, 위치 및 수수료를 참조하세요.

SMS 작성 대화 상자 시작

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.
}

요약 및 다음 단계

이 항목에서는 SMS 작성 대화 상자를 시작하는 방법을 설명했습니다. SMS 메시지 수신자로 사용할 연락처를 선택하는 방법은 연락처 선택을 참조하세요. GitHub에서 유니버설 Windows 앱 샘플을 다운로드하여 백그라운드 작업을 사용하여 SMS 메시지를 주고 받는 방법의 예를 더 확인해보세요.