Windows Phone 7获取用户通讯录和日程安排

移动开发
在7.1版本的API里面多了命名空间Microsoft.Phone.UserData,在这个空间下提供了手机系统用户通讯录和日历数据操作的API。

在Windows Phone 7.0版本的API里面对用户手机上的信息基本上是不提供给开发者使用,不过还好在芒果更新里面,我们已经看到了微软正在渐渐地开放这些接口,在7.1版本的API里面多了命名空间Microsoft.Phone.UserData,在这个空间下提供了手机系统用户通讯录和日历数据操作的API,我相信微软在未来会在该空间下开放更多的接口来操作用户的数据,下面来看一下Microsoft.Phone.UserData空间下的类,主要包含了Contacts, Contact, Appointments和Appointment这四个类,Contacts类允许你去查询用户的联系人数据,并且可以返回一个Contact类的集合,Appointments类允许你去查询用户的日程安排数据,并且可以返回一个Appointment类的集合。

下面是从官方网站翻译的Microsoft.Phone.UserData空间下类、属性等信息,仅供参考,详细信息请查阅MSDN。

说明
Account 用户在手机上设置的提供联系人信息的账号类型,例如Facebook ,Microsoft Outlook等等。
Appointment 系统日程安排的类。
Appointments 提供了操作手机系统日常安排的类。
AppointmentsSearchEventArgs 提供SearchCompleted事件返回数据的类。
Attendee 包含了日程安排出席的信息类。
CompleteName 包含了联系人姓名信息的类。
Contact 通讯录类,包含了通讯录所有可用的信息。
ContactAddress 包含了联系人地址信息的类。
ContactCompanyInformation 包含了联系人公司信息的类。
ContactEmailAddress 包含了联系人邮件信息的类。
ContactPhoneNumber 包含了联系人电话号码信息的类。
Contacts 通讯录类,提供了操作用户手机通讯录联系人的事件和方法。
ContactsSearchEventArgs 提供SearchCompleted事件返回信息的类。
PhoneDataSharingContext 数据共享的基类。

 

枚举 说明
AddressKind 地址的种类。
AppointmentStatus 日程安排的状态。
EmailAddressKind 邮件地址的种类。
FilterKind 通讯录搜索的种类。
PhoneNumberKind 电话号码的种类。
StorageKind 用户通讯录和日程安排的数据提供源的种类。

Contact类的属性:

属性名字 说明
Accounts 联系人的来源账号。
Addresses 联系人地址。
Birthdays 联系人的生日。
Children 联系人关联的子类别。
Companies 联系人的公司。
CompleteName 联系人的完整名称。
DisplayName 联系人在通讯录的显示名称。
EmailAddresses 联系人的邮箱地址,枚举模板类型。
IsPinnedToStart 联系人是否在手机主屏幕上显示。
Notes 联系人备注信息。
PhoneNumbers 联系人的电话号码。
SignificantOthers 联系人的其他关联信息。
Websites 联系人的网站。

Appointment类属性:

属性名字 说明
Account 来源账号。
Attendees 日程安排出席的活动事项。
Details 活动的内容
EndTime 结束时间
IsAllDayEvent 是否全天活动
IsPrivate 是否私人活动
Location 地点
Organizer 组织者
StartTime 开始时间
Status 状态
Subject 标题

下面用一个例子来测试一下获取手机用户的通讯录的信息。

MainPage.xaml文件

  1. <ListBox Name="ContactResultsData" ItemsSource="{Binding}" > 
  2.                 <ListBox.ItemTemplate> 
  3.                     <DataTemplate> 
  4.                         <StackPanel> 
  5.                             <TextBlock  Text="{Binding DisplayName}" /> 
  6.                             <!--电话号码--> 
  7.                             <ListBox ItemsSource="{Binding PhoneNumbers}"> 
  8.                                 <ListBox.ItemTemplate> 
  9.                                     <DataTemplate> 
  10.                                         <StackPanel Orientation="Horizontal"> 
  11.                                             <TextBlock Text="{Binding PhoneNumber}" /> 
  12.                                         </StackPanel> 
  13.                                     </DataTemplate> 
  14.                                 </ListBox.ItemTemplate> 
  15.                             </ListBox> 
  16.                             <!--邮箱--> 
  17.                             <ListBox ItemsSource="{Binding EmailAddresses}"> 
  18.                                 <ListBox.ItemTemplate> 
  19.                                     <DataTemplate> 
  20.                                         <StackPanel Orientation="Horizontal"> 
  21.                                             <TextBlock Text="{Binding EmailAddress}"/> 
  22.                                         </StackPanel> 
  23.                                     </DataTemplate> 
  24.                                 </ListBox.ItemTemplate> 
  25.                             </ListBox> 
  26.                             <!--地址信息--> 
  27.                             <ListBox ItemsSource="{Binding Addresses}"> 
  28.                                 <ListBox.ItemTemplate> 
  29.                                     <DataTemplate> 
  30.                                         <StackPanel Orientation="Horizontal"> 
  31.                                             <StackPanel> 
  32.                                                 <TextBlock Text="{Binding PhysicalAddress.AddressLine1}"/> 
  33.                                                 <TextBlock Text="{Binding PhysicalAddress.City}"/> 
  34.                                             </StackPanel> 
  35.                                         </StackPanel> 
  36.                                     </DataTemplate> 
  37.                                 </ListBox.ItemTemplate> 
  38.                             </ListBox> 
  39.                         </StackPanel>   
  40.                     </DataTemplate> 
  41.                 </ListBox.ItemTemplate> 
  42.             </ListBox> 

MainPage.xaml.cs文件

  1. using Microsoft.Phone.Controls;  
  2. using Microsoft.Phone.UserData;  
  3.  
  4. namespace contactstest  
  5. {  
  6.     public partial class MainPage : PhoneApplicationPage  
  7.     {  
  8.         private Contacts contacts;  
  9.  
  10.         public MainPage()  
  11.         {  
  12.             InitializeComponent();  
  13.             contacts = new Contacts();  
  14.             contacts.SearchCompleted += contacts_SearchCompleted;  
  15.             contacts.SearchAsync("", FilterKind.DisplayName, "查询联系人");  
  16.         }  
  17.         //通讯录搜索完成事件处理  
  18.         void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)  
  19.         {  
  20.             ContactResultsData.DataContext = e.Results;  
  21.         }  
  22.     }  

运行的效果

效果

原文链接:http://www.cnblogs.com/linzheng/archive/2011/09/14/2176720.html

【编辑推荐】

  1. 在WP应用中使用Google Map替代Bing Map
  2. 浅谈Windows Phone应用程序生命周期
  3. Windows Phone 7数字罗盘使用指南
  4. Windows Phone 7文件下载进度和速度显示
  5. WP7开发中Coding4Fun的五种弹出框介绍

 

责任编辑:王晓东 来源: 博客
相关推荐

2012-04-16 18:08:02

网易邮箱

2013-03-26 10:05:52

红帽

2012-11-29 10:15:57

2012-02-09 09:10:44

Path通讯录隐私

2013-03-18 10:19:27

安卓软件手机通讯录隐私信息

2011-09-05 14:08:21

微信Andriod安卓

2010-10-11 14:42:49

Windows Pho

2011-12-01 09:56:59

微软Windows Pho

2011-09-16 14:05:42

Andrioid应用iPhone应用Symbian应用

2022-01-04 15:34:31

鸿蒙HarmonyOS应用

2012-02-09 14:45:49

path隐私通讯录

2011-07-18 14:44:29

2021-12-10 10:12:44

鸿蒙HarmonyOS应用

2021-08-26 14:23:00

Windows 11任务栏日程安排

2011-07-12 09:20:32

Windows 8Windows Pho

2010-06-18 22:42:42

智能手机平台Android网秦

2012-06-05 13:53:03

天天联系华为

2010-09-26 08:35:01

火种通讯录

2010-09-08 23:11:01

2012-12-21 14:51:52

手机中国
点赞
收藏

51CTO技术栈公众号