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

2015-09-30 14:31:23来源:作者:人点击

在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文件:

<ListBoxName="ContactResultsData"ItemsSource="{Binding}"><ListBox.ItemTemplate><DataTemplate><StackPanel><TextBlockText="{BindingDisplayName}"/><!--电话号码--><ListBoxItemsSource="{BindingPhoneNumbers}"><ListBox.ItemTemplate><DataTemplate><StackPanelOrientation="Horizontal"><TextBlockText="{BindingPhoneNumber}"/></StackPanel></DataTemplate></ListBox.ItemTemplate></ListBox><!--邮箱--><ListBoxItemsSource="{BindingEmailAddresses}"><ListBox.ItemTemplate><DataTemplate><StackPanelOrientation="Horizontal"><TextBlockText="{BindingEmailAddress}"/></StackPanel></DataTemplate></ListBox.ItemTemplate></ListBox><!--地址信息--><ListBoxItemsSource="{BindingAddresses}"><ListBox.ItemTemplate><DataTemplate><StackPanelOrientation="Horizontal"><StackPanel><TextBlockText="{BindingPhysicalAddress.AddressLine1}"/><TextBlockText="{BindingPhysicalAddress.City}"/></StackPanel></StackPanel></DataTemplate></ListBox.ItemTemplate></ListBox></StackPanel> </DataTemplate></ListBox.ItemTemplate></ListBox>

MainPage.xaml.cs文件:

usingMicrosoft.Phone.Controls; usingMicrosoft.Phone.UserData; namespacecontactstest { publicpartialclassMainPage:PhoneApplicationPage { privateContactscontacts; publicMainPage() { InitializeComponent(); contacts=newContacts(); contacts.SearchCompleted+=contacts_SearchCompleted; contacts.SearchAsync("",FilterKind.DisplayName,"查询联系人"); } //通讯录搜索完成事件处理 voidcontacts_SearchCompleted(objectsender,ContactsSearchEventArgse) { ContactResultsData.DataContext=e.Results; } } }

运行的效果:

效果

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

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台