酢ろぐ!

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

Windows PhoneでSaveEmailAddressTaskを使ってメールアドレスを保存する

概要

SaveEmailAddressTaskは、ピープルハブにメールアドレスを保存するセレクターです。

Windows Phone OS 7.0、OS 7.1でサポートされています。

名前空間:Microsoft.Phone.Tasks

System.Object
 +--Microsoft.Phone.Tasks.ChooserBase<TaskEventArgs>
  +--Microsoft.Phone.Tasks.SaveContactTask

Tips

SaveEmailAddressTaskを使ってメールアドレスを保存する

SaveEmailAddressTaskクラスのShowメソッドを実行すると、ピープルハブが起動します。

メールアドレスを既にある連絡先に追加するのか、登録しているアカウント(Windows LiveやGoogle等)に登録するのか選択することが可能です。メールアドレスが登録、またはユーザーによってキャンセルされると、Completedイベントハンドラが呼び出しされ、メールアドレスの保存に成功したかどうかを判断することが出来ます。

  private void btnSaveEmailAddressTask_Click(object sender, RoutedEventArgs e)
  {
      var task = new Microsoft.Phone.Tasks.SaveEmailAddressTask() { Email = "info@ch3cooh.jp" };
      task.Show();
  }

動かしてみた。

保存結果を取得する場合には下記のようにします。

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

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

        private void button1_Click(object sender, RoutedEventArgs e) {
            var task = new SaveEmailAddressTask();
            task.Completed += new EventHandler<TaskEventArgs>(task_Completed);

            try {
                task.Email = "ch3cooh393 at gmail.com";
                task.Show();
            } catch (InvalidOperationException ex) {
                MessageBox.Show(ex.Message);
            }
        }

        void task_Completed(object sender, TaskEventArgs e) {
            switch (e.TaskResult) {
                case TaskResult.OK:
                    // メールアドレスの保存に成功
                    break;
                case TaskResult.Cancel:
                    // ユーザーによって保存をキャンセルされた
                    break;
                case TaskResult.None:
                    // メールアドレスが保存されなかった
                    break;
            }
        }

    }
}

Windows Phoneの実機に、Windows LiveやGoogleなどのクラウド上に連絡先を保存可能なアカウントの設定を行っている場合は、追加を行いたいサービス(Windows LiveやGoogle)が表示されるのでいずれかを選択します。

クラウド上に保存可能なアカウントが設定されていない場合は、下図のように電話機本体に保存が可能です。

f:id:ch3cooh393:20160504115224p:plain

参照