酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windows PhoneでSmsComposeTaskを使ってSMSを送信する

概要

SmsComposeTaskは、SMSを送信するランチャーです。SmsComposeTaskクラスのShowメソッドを実行すると、メールアプリを起動しメッセージ送信画面を表示します。

Windows Phone OS 7.0~でサポートされています。アプリケーションからメールアプリを起動させることが可能です。

f:id:ch3cooh393:20160115150204j:plain

名前空間:Microsoft.Phone.Tasks

System.Object
  +--Microsoft.Phone.Tasks.SmsComposeTask

メールアプリを起動しメッセージ送信画面を表示させる

SmsComposeTaskクラスのShowメソッドを実行すると、メールアプリを起動しメッセージ送信画面を表示します。

ただし、Windows Phone EmulatorでSmsComposeTaskを実行しSMSを送信する部分まで実行出来たかのように見えますが、これは不正なダミーのSIMカードが使用されているため実際にメッセージは送信出来ておりません。メッセージの送信を含めてのテストを行う場合、実機上で行う必要があります。

ToプロパティやBodyプロパティにテキストを設定しておくと、あらかじめ起動されるメッセージ送信画面に情報が入力された状態で表示する事が出来ます。

using System;
using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;

namespace SmsComposeTaskTest {
    public partial class MainPage : PhoneApplicationPage {
        // コンストラクター
        public MainPage() {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e) {
            var task = new SmsComposeTask();
            try {
                // Toプロパティには宛先を設定します
                task.To = "123-456-789";
                // Bodyプロパティにはメッセージの本文を設定します
                task.Body = "Message";

                task.Show();
            } catch (InvalidOperationException ex) {
                MessageBox.Show(ex.Message);
            }
        }
    }
}

参照