酢ろぐ!

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

Windows PhoneでEmailAddressChooserTaskを使ってピープルハブからメールアドレスを選択する

概要

Windows Phone OS 7.0、OS 7.1で使用できるセレクターです。メールアドレスを取得するダイアログを表示します。

名前空間:Microsoft.Phone.Tasks

System.Object
 +--Microsoft.Phone.Tasks.ChooserBase
  +--Microsoft.Phone.Tasks.EmailAddressChooserTask

Tips

EmailAddressChooserTaskを使ってメールアドレスを選択する

EmailAddressChooserTaskは、名前とメールアドレスを取得するセレクターです。EmailAddressChooserTaskクラスのShowメソッドを実行すると、ピープルハブが起動します。

ピープルハブの連絡先の中から、ユーザーが選択した連絡先のメールアドレスを取得することが可能です。 連絡先を選択、またはユーザーによってキャンセルされると、Completedイベントハンドラが呼び出しされ、メールアドレスの取得に成功したかどうかを判断することが出来ます。

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

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

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

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

        void task_Completed(object sender, EmailResult e) {
            switch (e.TaskResult) {
                case TaskResult.OK:
                    // メールアドレスの取得成功
                    MessageBox.Show(e.DisplayName + "\nAddress: " + e.Email);
                    break;
                case TaskResult.Cancel:
                    // ユーザーによって取得をキャンセルされた
                    break;
                case TaskResult.None:
                    // メールアドレスを取得できなかった
                    break;
            }
        }
    }
}

参照