将 Windows 7 手机的联系人列表集成到应用程序中 [英] Integrating contact list for windows 7 phone into app

查看:10
本文介绍了将 Windows 7 手机的联系人列表集成到应用程序中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何获取 Windows 7 手机的联系人列表以在 win7 手机应用中使用?

解决方案

在早期版本的 Windows Phone 7 SDK 中,只能通过选择器检索电话号码或电子邮件地址以及其他一些内容.现在,使用 7.1 Mango SDK,可以从联系人中检索更多信息,例如 AddressDisplayNameEmailAddresses 等.>

我将向您展示如何使用 C# 从 Windows Phone 7 中检索所有联系人.

Contacts 类定义在命名空间 Microsoft.Phone.UserData 中,并从 PhoneDataSharingContext 扩展,并提供了一些交互的方法和事件与用户的联系数据.

public MainPage(){初始化组件();联系人 objContacts = new Contacts();objContacts.SearchCompleted += new EventHandler(objContacts_SearchCompleted);objContacts.SearchAsync(string.Empty, FilterKind.None, null);}void objContacts_SearchCompleted(对象发件人,ContactsSearchEventArgs e){foreach(e.Results 中的 var 结果){lst.Add("姓名:" + result.DisplayName + "; 电话号码:" + result.PhoneNumbers.FirstOrDefault());}}

Contacts 还可以让用户使用 SearchAsync 方法搜索联系人.FilterKind 确定将用于过滤的字段,如 PhoneNumberDisplayNameEmailAddress 等.当它是,可以列出所有联系人.

请注意,我使用了模拟器,因为我目前没有带有 Mango 的设备.

公共部分类 MainPage : PhoneApplicationPage{//构造函数公共主页(){初始化组件();联系人 objContacts = new Contacts();objContacts.SearchCompleted += new EventHandler(objContacts_SearchCompleted);objContacts.SearchAsync(string.Empty, FilterKind.None, null);}void objContacts_SearchCompleted(对象发件人,ContactsSearchEventArgs e){var ContactsData = from m in e.Results选择新的我的联系人{DisplayName = m.DisplayName,PhoneNumber = m.PhoneNumbers.FirstOrDefault()};var MyContactsLst = 来自 ContactsData 中的联系人按 contact.DisplayName 将联系人分组到 corderby c.Key选择新组(c.Key, c);longlist1.ItemsSource = ContactsData;}}公开课我的联系人{公共字符串显示名称 { 获取;放;}public ContactPhoneNumber PhoneNumber { get;放;}}

How do I grab the contact list of a windows 7 phone for use inside a win7 phone app?

解决方案

With the earlier version of the Windows Phone 7 SDK, it was only possible to retrieve the phone number or email address and a few more with the Choosers. Now, with the 7.1 Mango SDK, it is possible to retrieve more information from the contact, like Address, DisplayName, EmailAddresses etc.

I will show you how to retrieve all contacts from Windows Phone 7 using C#.

The Contacts Class is defined in the namespace Microsoft.Phone.UserData and extends from PhoneDataSharingContext and provides a few methods and events for interacting with a user’s contact data.

public MainPage()
{
InitializeComponent();
Contacts objContacts = new Contacts();
objContacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(objContacts_SearchCompleted);
objContacts.SearchAsync(string.Empty, FilterKind.None, null);
}
void objContacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
foreach (var result in e.Results)
{
lst.Add("Name : " + result.DisplayName + " ; Phone Number : " + result.PhoneNumbers.FirstOrDefault());
}
}

Contacts can also enable the user to search for the contact with the SearchAsync method. The FilterKind determines the field that will be used for filtering like PhoneNumber, DisplayName or EmailAddress etc. When it is None, it can list all the contacts.

Note that I have used the emulator since I don't have the device with Mango currently.

public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
Contacts objContacts = new Contacts();
objContacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(objContacts_SearchCompleted);
objContacts.SearchAsync(string.Empty, FilterKind.None, null);
}

void objContacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
var ContactsData = from m in e.Results
select new MyContacts
{
DisplayName = m.DisplayName,
PhoneNumber = m.PhoneNumbers.FirstOrDefault()
};
var MyContactsLst = from contact in ContactsData
group contact by contact.DisplayName into c
orderby c.Key
select new Group<MyContacts>(c.Key, c);
longlist1.ItemsSource = ContactsData;
}
}
public class MyContacts
{
public string DisplayName { get; set; }
public ContactPhoneNumber PhoneNumber { get; set; }
}

这篇关于将 Windows 7 手机的联系人列表集成到应用程序中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆