如何使用 Windows Phone 电子邮件地址选择器任务

2012/2/9

使用电子邮件地址选择器任务可获取用户选择的联系人的电子邮件地址。此任务启动“联系人”应用程序,以便用户能够选择联系人。如果用户完成此任务,将会引发一个事件,并且事件处理程序将会在结果中收到一个地址。

使用选择器,可以帮助您在 Windows Phone 平台中提供一致的用户体验。有关更多信息,请参阅 Windows Phone 启动器和选择器概述

注意注意:

Windows Phone SDK 包含可用于从应用程序中检索联系人信息的 API。有关更多信息,请参阅 Windows Phone 的联系人和日历

使用电子邮件地址选择器任务

  1. 将以下语句添加到您的代码中。

    using Microsoft.Phone.Tasks;
    
  2. 声明任务对象。它必须具有页面范围,因此应在页面中的构造函数之前声明它。

    EmailAddressChooserTask emailAddressChooserTask;
    
  3. 将以下代码添加到您的页面构造函数中。此代码初始化任务对象,并标识要在用户完成任务后运行的方法。

    emailAddressChooserTask = new EmailAddressChooserTask();
    emailAddressChooserTask.Completed += new EventHandler<EmailResult>(emailAddressChooserTask_Completed);
    
  4. 在应用程序中的所需位置添加以下代码,例如按键点击事件中。为了测试此过程,可以将该代码放置在页面构造函数中。以下是启动任务的代码。

    try
    {
        emailAddressChooserTask.Show();
    }
    catch (System.InvalidOperationException ex)
    {
        MessageBox.Show("An error occurred.");
    }
    
  5. 在页面中添加已完成事件处理程序的代码。此代码在用户完成任务后运行。结果是一个包含联系人名称和电子邮件地址的 EmailResult 对象。目前已有一个使用检索的地址来撰写新电子邮件的示例代码。有关更多信息,请参阅如何使用 Windows Phone 电子邮件撰写任务

    void emailAddressChooserTask_Completed(object sender, EmailResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            MessageBox.Show("The email for " + e.DisplayName + " is " + e.Email);
    
            //Code to send a new email message using the retrieved email address.
            //EmailComposeTask emailComposeTask = new EmailComposeTask();
            //emailComposeTask.To = e.Email;
            //emailComposeTask.Subject = e.DisplayName + ", here is an email from my app!";
            //emailComposeTask.Show();
        }
    }
    

显示: