将 Windows 7 手机的联系人列表集成到应用程序中 [英] Integrating contact list for windows 7 phone into app
问题描述
如何获取 Windows 7 手机的联系人列表以在 win7 手机应用中使用?
在早期版本的 Windows Phone 7 SDK 中,只能通过选择器检索电话号码或电子邮件地址以及其他一些内容.现在,使用 7.1 Mango SDK,可以从联系人中检索更多信息,例如 Address
、DisplayName
、EmailAddresses
等.>
我将向您展示如何使用 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
确定将用于过滤的字段,如 PhoneNumber
、DisplayName
或 EmailAddress
等.当它是无
,可以列出所有联系人.
请注意,我使用了模拟器,因为我目前没有带有 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屋!