読者です 読者をやめる 読者になる 読者になる

がりらぼ

WindowsRuntimeの応援ブログ

WinRT:連絡先を選択するには

ContactPicker

WindowsRuntimeでは連絡先ピッカーが管理する連絡先を自由に選択することができます。

連絡先ピッカーとは、マニフェストファイルで宣言タブの「連絡先ピッカー」が宣言されているアプリが、ほかのアプリから呼ばれ、自身の所有する連絡先をアプリに代わって選択するピッカーのことです。

 

Windows8.1で代表的な連絡先ピッカーアプリはPeopleです。

Peopleアプリを連絡先ピッカーとしてContactPickerを起動すると連絡先情報を取得することができます。

 

ContactPickerの名前空間である以下を追加します。

using Windows.ApplicationModel.Contacts;

 

まずContactPickerのインスタンスを生成します。

ContactPicker picker = new ContactPicker();

CommitButtonTextとは、連絡先ピッカーで連絡先を選択したときに決定ボタンに表示される文字です。

 

連絡先のどの要素を取得するかは、DesiredFiledsWithContactFieldTypeによって決定します。

picker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.Address);
picker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.Email);
picker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber);

 

最後にPickContactAsyncメソッドで連絡先ピッカーへと処理を渡します。

連絡先ピッカーが連絡先を選択すると、Contact型の値を返します。

Contact contact=await picker.PickContactAsync();
string address = contact.Addresses.First().Description;
string email = contact.Emails.First().Address;
string phoneNumber = contact.Phones.First().Number;
string name = contact.DisplayName;

 

複数の連絡先を取得する場合はPickContactsAsyncメソッドを呼びます。

IList<Contact> contact = await picker.PickContactsAsync();

 

連絡先を選択するには | garicchi.com