概要
Windows Phone OS 7.1で追加されました。SaveContactTaskは、ピクチャーハブに連絡先を保存するセレクターです。
名前空間:Microsoft.Phone.Tasks
System.Object
+--Microsoft.Phone.Tasks.ChooserBase<SaveContactResult>
+--Microsoft.Phone.Tasks.SaveContactTask
Tips
SaveContactTaskを使って連絡先を登録する
SaveContactTaskは、ピクチャーハブに連絡先を保存するセレクターです。SaveContactTaskクラスのShowメソッドを実行すると、ピープルハブが起動します。
Showメソッドを呼ぶ前に会社名(Companyプロパティ)や名前(FirstName、LastNameプロパティ)、電話番号(MobilePhoneプロパティ)などに、あらかじめ入力しておくことが可能です。
設定が可能な項目は27項目あり、本記事にて全ての項目を説明する事が出来ませんので、MSDNライブラリのSaveContactTask Propertiesを参照して頂ければと思います。
ピープルハブの連絡帳に連絡先を保存することが可能です。連絡先の保存、またはユーザーによってキャンセルされると、Completedイベントハンドラが呼び出しされ、連絡先の保存に成功したかどうかを判断することが出来ます。
C#
using System; using System.Windows; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace SaveContactTaskTest { public partial class MainPage : PhoneApplicationPage { // コンストラクター public MainPage() { InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { var task = new SaveContactTask(); task.Completed += new EventHandler<SaveContactResult>(task_Completed); try { // 登録したい項目を事前に入力しておくことも可能 task.Company = "Softbuild"; task.FirstName = "Kenji"; task.LastName = "Wada"; task.MobilePhone = "090123456789"; task.Website = "http://ch3cooh.jp/"; task.Show(); } catch (InvalidOperationException ex) { MessageBox.Show(ex.Message); } } void task_Completed(object sender, SaveContactResult e) { switch (e.TaskResult) { case TaskResult.OK: // 連絡先の保存に成功 break; case TaskResult.Cancel: // ユーザーによって保存をキャンセルされた break; case TaskResult.None: // 連絡先は保存されなかった break; } } } }
VB.NET
Imports System.Windows Imports Microsoft.Phone.Controls Imports Microsoft.Phone.Tasks Namespace SaveContactTaskTest Public Partial Class MainPage Inherits PhoneApplicationPage ' コンストラクター Public Sub New() InitializeComponent() End Sub Private Sub button1_Click(sender As Object, e As RoutedEventArgs) Dim task = New SaveContactTask() task.Completed += New EventHandler(Of SaveContactResult)(AddressOf task_Completed) Try ' 登録したい項目を事前に入力しておくことも可能 task.Company = "Softbuild" task.FirstName = "Kenji" task.LastName = "Wada" task.MobilePhone = "090123456789" task.Website = "http://ch3cooh.jp/" task.Show() Catch ex As InvalidOperationException MessageBox.Show(ex.Message) End Try End Sub Private Sub task_Completed(sender As Object, e As SaveContactResult) Select Case e.TaskResult Case TaskResult.OK ' 連絡先の保存に成功 Exit Select Case TaskResult.Cancel ' ユーザーによって保存をキャンセルされた Exit Select Case TaskResult.None ' 連絡先は保存されなかった Exit Select End Select End Sub End Class End Namespace
Windows Phoneの実機に、Windows LiveやGoogleなどのクラウド上に連絡先を保存可能なアカウントの設定を行っている場合は、追加を行いたいサービス(Windows LiveやGoogle)が表示されるのでいずれかを選択します。
クラウド上に保存可能なアカウントが設定されていない場合は、下図のように電話機本体に保存が可能です。