在Windows Phone 7中使用C#获取所有联系人资料

移动开发
在这篇文章中,你将学习如何在Windows Phone 7中使用C#获取所有联系人的资料。

在早期的 windows phone 7 SDK 中只可以通过 Choosers 获取电话号码和 Email 地址以及其他一些简单的资料。从 7.1 Mango SDK 开始,微软就放开了这个限制,可获取包括:Address , DisplayName,EmailAddresses 等等。

Contacts 类在 Microsoft.Phone.UserData 命名空间中定义,扩展自 PhoneDataSharingContext 并提供一些方法用于跟联系人数据进行交互。

  1. public MainPage()  
  2. {  
  3. InitializeComponent();  
  4. Contacts objContacts = new Contacts();  
  5. objContacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(objContacts_SearchCompleted);  
  6. objContacts.SearchAsync(string.Empty, FilterKind.None, null);  
  7. }  
  8.  
  9. void objContacts_SearchCompleted(object sender, ContactsSearchEventArgs e)  
  10. {  
  11.  
  12. foreach (var result in e.Results)  
  13. {  
  14. lst.Add("Name : " + result.DisplayName + " ; Phone Number : " + result.PhoneNumbers.FirstOrDefault());  
  15. }  
  16.  
  17. }  

Contacts 也可以用于联系人的搜索,通过 SearchAsync 方法。而 FilterKind 用于指定搜索的条件,例如 PhoneNumber , DisplayName or EmailAddress 等待。如果传递空值,则返回所有联系人信息。

这里是一些对联系人电话号码等信息进行格式化显示的方法。

  1. public partial class MainPage : PhoneApplicationPage  
  2. {  
  3. // Constructor  
  4. public MainPage()  
  5. {  
  6. InitializeComponent();  
  7. Contacts objContacts = new Contacts();  
  8. objContacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(objContacts_SearchCompleted);  
  9. objContacts.SearchAsync(string.Empty, FilterKind.None, null);  
  10. }  
  11.  
  12. void objContacts_SearchCompleted(object sender, ContactsSearchEventArgs e)  
  13. {  
  14.  
  15. var ContactsData = from m in e.Results  
  16. select new MyContacts  
  17. {  
  18. DisplayName = m.DisplayName,  
  19. PhoneNumber = m.PhoneNumbers.FirstOrDefault()  
  20.  
  21. };  
  22. var MyContactsLst = from contact in ContactsData  
  23. group contact by contact.DisplayName into c  
  24. orderby c.Key  
  25. select new Group<MyContacts>(c.Key, c);  
  26. longlist1.ItemsSource = ContactsData;  
  27.  
  28. }  
  29. }  
  30. public class MyContacts  
  31. {  
  32.  
  33. public string DisplayName { getset; }  
  34. public ContactPhoneNumber PhoneNumber { getset; }  
  35.  
  36. }  

 

责任编辑:佚名 来源: 开源中国社区
相关推荐

2012-02-02 17:10:35

Windows PhoC#发送短信

2011-06-17 14:16:21

ListBoxWindows Pho

2010-12-14 18:48:49

微软

2012-03-01 19:44:18

Android

2009-12-23 09:05:03

2019-11-07 09:20:36

Windows 10联系人Outlook

2011-05-26 14:42:34

Android 手机

2015-01-21 15:50:55

Android源码全国城市列表

2009-07-02 10:07:24

C# 4.0的动态类型Visual Stud

2011-03-16 10:24:22

3D开发Windows Pho

2010-04-08 17:40:23

Windows Pho

2015-11-11 10:17:15

ios9联系人框架干货

2010-01-27 14:08:56

Android查询联系

2014-12-30 11:51:35

ListViewItem View

2012-05-23 15:46:39

数字罗盘

2013-07-30 11:18:37

Windows PhoWindows Pho

2020-02-02 14:45:55

联系人开源工具

2020-12-31 07:31:10

C# 反射数据

2010-11-26 16:00:08

Windows Pho

2011-03-21 09:05:40

IronRubyWindows Pho
点赞
收藏

51CTO技术栈公众号