今回は連絡先ピッカーで選択モードを指定する方法について見ていきます。
連絡先ピッカーは、既定でユーザーが選択した連絡先のすべての情報を取得します。
選択モードを指定することで、アプリで必要なデータのみを取得するように限定することができます。
選択モードを限定するにはピッカーの SelectionMode に Windows.ApplicationModel.Contacts.ContactSelectionMode.Fields を指定します。
続いて、ピッカーの DesiredFieldsWithContactFieldType.Add メソッドで限定して取得する項目を指定します。今回はメールアドレスを取得するようにコードを記述してみます(以下コード参照)。
ピッカー表示後のif文は、連絡先が選択されていなかった場合に備えるものです。
取得したメールアドレスは、Emailsオブジェクトに入っています。Emials[0].Addressとすることで、選択された1件目のアドレスを取得することができます。
private async void btnGetContact_Click(object sender, RoutedEventArgs e) { var picker = new Windows.ApplicationModel.Contacts.ContactPicker(); // 選択モードをFieldsに設定 picker.SelectionMode = Windows.ApplicationModel.Contacts.ContactSelectionMode.Fields; // 連絡先ピッカーで取得するフィールドを指定 picker.DesiredFieldsWithContactFieldType.Add( Windows.ApplicationModel.Contacts.ContactFieldType.Email); Contact contact = await picker.PickContactAsync(); if (contact != null) { textBlockEmail.Text = contact.Emails[0].Address; } }
実行例を以下に示します。
Please follow and like us:
コメント