This topic has not yet been rated - Rate this topic

How to: Use the Address Chooser Task for Windows Phone

Windows Phone

March 23, 2012

Use the address chooser task to obtain the physical address of a contact selected by the user. This task launches the Contacts application so that the user can choose a contact. If the user completes the task, an event is raised and the event handler receives an address in the result.

By using Choosers, you help provide a consistent user experience throughout the Windows Phone platform. For more information, see Launchers and Choosers Overview for Windows Phone.

NoteNote:

The Windows Phone SDK includes APIs that you can use to retrieve contact information from within your application. For more information, see Contacts and Calendar for Windows Phone.

To use the address chooser task

  1. Add the following statement to your code.

    using Microsoft.Phone.Tasks;
    
  2. Declare the task object. It must have page scope, so declare it in your page before the constructor.

    AddressChooserTask addressChooserTask;
    
  3. Add the following code to your page constructor. This code initializes the task object, and identifies the method to run after the user completes the task.

    addressChooserTask = new AddressChooserTask();
    addressChooserTask.Completed += new EventHandler<AddressResult>(addressChooserTask_Completed);
    
  4. Add the following code to your application wherever you need it, such as in a button click event. To test this procedure, you can put the code in the page constructor. This is the code to launch the task.

    try
    {
        addressChooserTask.Show();
    }
    catch (System.InvalidOperationException ex)
    {
        MessageBox.Show("An error occurred.");
    }
    
  5. Add the code for the completed event handler to your page. This code runs after the user completes the task. The result is an AddressResult object that contains the name and address of the contact.

    void addressChooserTask_Completed(object sender, AddressResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            MessageBox.Show("The address for " + e.DisplayName + " is " + e.Address);
        }
    }
    

Did you find this helpful?
(1500 characters remaining)