Samstag, 26. Januar 2013

Windows Phone 8 Access to Contact details

Here is a small snippet to get the contact details with the AddressChooser task and Contact class (new for Windows Phone 8) for an Windows Phone 8 app:

public MainPage()
{
    InitializeComponent();
    addressTask = new AddressChooserTask();
    addressTask.Completed += addressTask_Completed;
}
 
private void btnContacts_Click(object sender, RoutedEventArgs e)
{
    addressTask.Show();
}
 
void addressTask_Completed(object sender, AddressResult e)
{
    if (e.TaskResult == TaskResult.OK)
    {
        var contacts = new Contacts();
        contacts.SearchCompleted += contacts_SearchCompleted;
        contacts.SearchAsync(e.DisplayName, FilterKind.DisplayName, null); 
    }
}
 
private void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
    if (e.Results != null && e.Results.Any())
    {
        var firstOrDefault = e.Results.FirstOrDefault();
        if (firstOrDefault != null)
        {
            var contactPhoneNumber = firstOrDefault.PhoneNumbers.FirstOrDefault(tel => tel.Kind==PhoneNumberKind.Mobile);
            if (contactPhoneNumber != null)
            {
                TextTelephoneNumber.Text = contactPhoneNumber.PhoneNumber;
                SmsNumber.Text = contactPhoneNumber.PhoneNumber;
               
            }
            var contactEmail = firstOrDefault.EmailAddresses.FirstOrDefault();
            if (contactEmail != null)
            {
                
                MailAddress.Text = contactEmail.EmailAddress;
            }
                
        }
    }
}

4 Kommentare: