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

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

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

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@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)が表示されるのでいずれかを選択します。

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

参照