Windows Phone 7獲取用戶通訊錄和日程安排
在Windows Phone 7.0版本的API里面對(duì)用戶手機(jī)上的信息基本上是不提供給開發(fā)者使用,不過還好在芒果更新里面,我們已經(jīng)看到了微軟正在漸漸地開放這些接口,在7.1版本的API里面多了命名空間Microsoft.Phone.UserData,在這個(gè)空間下提供了手機(jī)系統(tǒng)用戶通訊錄和日歷數(shù)據(jù)操作的API,我相信微軟在未來會(huì)在該空間下開放更多的接口來操作用戶的數(shù)據(jù),下面來看一下Microsoft.Phone.UserData空間下的類,主要包含了Contacts, Contact, Appointments和Appointment這四個(gè)類,Contacts類允許你去查詢用戶的聯(lián)系人數(shù)據(jù),并且可以返回一個(gè)Contact類的集合,Appointments類允許你去查詢用戶的日程安排數(shù)據(jù),并且可以返回一個(gè)Appointment類的集合。
下面是從官方網(wǎng)站翻譯的Microsoft.Phone.UserData空間下類、屬性等信息,僅供參考,詳細(xì)信息請(qǐng)查閱MSDN。
| 類 | 說明 | 
| Account | 用戶在手機(jī)上設(shè)置的提供聯(lián)系人信息的賬號(hào)類型,例如Facebook ,Microsoft Outlook等等。 | 
| Appointment | 系統(tǒng)日程安排的類。 | 
| Appointments | 提供了操作手機(jī)系統(tǒng)日常安排的類。 | 
| AppointmentsSearchEventArgs | 提供SearchCompleted事件返回?cái)?shù)據(jù)的類。 | 
| Attendee | 包含了日程安排出席的信息類。 | 
| CompleteName | 包含了聯(lián)系人姓名信息的類。 | 
| Contact | 通訊錄類,包含了通訊錄所有可用的信息。 | 
| ContactAddress | 包含了聯(lián)系人地址信息的類。 | 
| ContactCompanyInformation | 包含了聯(lián)系人公司信息的類。 | 
| ContactEmailAddress | 包含了聯(lián)系人郵件信息的類。 | 
| ContactPhoneNumber | 包含了聯(lián)系人電話號(hào)碼信息的類。 | 
| Contacts | 通訊錄類,提供了操作用戶手機(jī)通訊錄聯(lián)系人的事件和方法。 | 
| ContactsSearchEventArgs | 提供SearchCompleted事件返回信息的類。 | 
| PhoneDataSharingContext | 數(shù)據(jù)共享的基類。 | 
| 枚舉 | 說明 | 
| AddressKind | 地址的種類。 | 
| AppointmentStatus | 日程安排的狀態(tài)。 | 
| EmailAddressKind | 郵件地址的種類。 | 
| FilterKind | 通訊錄搜索的種類。 | 
| PhoneNumberKind | 電話號(hào)碼的種類。 | 
| StorageKind | 用戶通訊錄和日程安排的數(shù)據(jù)提供源的種類。 | 
Contact類的屬性:
| 屬性名字 | 說明 | 
| Accounts | 聯(lián)系人的來源賬號(hào)。 | 
| Addresses | 聯(lián)系人地址。 | 
| Birthdays | 聯(lián)系人的生日。 | 
| Children | 聯(lián)系人關(guān)聯(lián)的子類別。 | 
| Companies | 聯(lián)系人的公司。 | 
| CompleteName | 聯(lián)系人的完整名稱。 | 
| DisplayName | 聯(lián)系人在通訊錄的顯示名稱。 | 
| EmailAddresses | 聯(lián)系人的郵箱地址,枚舉模板類型。 | 
| IsPinnedToStart | 聯(lián)系人是否在手機(jī)主屏幕上顯示。 | 
| Notes | 聯(lián)系人備注信息。 | 
| PhoneNumbers | 聯(lián)系人的電話號(hào)碼。 | 
| SignificantOthers | 聯(lián)系人的其他關(guān)聯(lián)信息。 | 
| Websites | 聯(lián)系人的網(wǎng)站。 | 
Appointment類屬性:
| 屬性名字 | 說明 | 
| Account | 來源賬號(hào)。 | 
| Attendees | 日程安排出席的活動(dòng)事項(xiàng)。 | 
| Details | 活動(dòng)的內(nèi)容 | 
| EndTime | 結(jié)束時(shí)間 | 
| IsAllDayEvent | 是否全天活動(dòng) | 
| IsPrivate | 是否私人活動(dòng) | 
| Location | 地點(diǎn) | 
| Organizer | 組織者 | 
| StartTime | 開始時(shí)間 | 
| Status | 狀態(tài) | 
| Subject | 標(biāo)題 | 
下面用一個(gè)例子來測(cè)試一下獲取手機(jī)用戶的通訊錄的信息。
MainPage.xaml文件:
- <ListBox Name="ContactResultsData" ItemsSource="{Binding}" >
 - <ListBox.ItemTemplate>
 - <DataTemplate>
 - <StackPanel>
 - <TextBlock Text="{Binding DisplayName}" />
 - <!--電話號(hào)碼-->
 - <ListBox ItemsSource="{Binding PhoneNumbers}">
 - <ListBox.ItemTemplate>
 - <DataTemplate>
 - <StackPanel Orientation="Horizontal">
 - <TextBlock Text="{Binding PhoneNumber}" />
 - </StackPanel>
 - </DataTemplate>
 - </ListBox.ItemTemplate>
 - </ListBox>
 - <!--郵箱-->
 - <ListBox ItemsSource="{Binding EmailAddresses}">
 - <ListBox.ItemTemplate>
 - <DataTemplate>
 - <StackPanel Orientation="Horizontal">
 - <TextBlock Text="{Binding EmailAddress}"/>
 - </StackPanel>
 - </DataTemplate>
 - </ListBox.ItemTemplate>
 - </ListBox>
 - <!--地址信息-->
 - <ListBox ItemsSource="{Binding Addresses}">
 - <ListBox.ItemTemplate>
 - <DataTemplate>
 - <StackPanel Orientation="Horizontal">
 - <StackPanel>
 - <TextBlock Text="{Binding PhysicalAddress.AddressLine1}"/>
 - <TextBlock Text="{Binding PhysicalAddress.City}"/>
 - </StackPanel>
 - </StackPanel>
 - </DataTemplate>
 - </ListBox.ItemTemplate>
 - </ListBox>
 - </StackPanel>
 - </DataTemplate>
 - </ListBox.ItemTemplate>
 - </ListBox>
 
MainPage.xaml.cs文件:
- using Microsoft.Phone.Controls;
 - using Microsoft.Phone.UserData;
 - namespace contactstest
 - {
 - public partial class MainPage : PhoneApplicationPage
 - {
 - private Contacts contacts;
 - public MainPage()
 - {
 - InitializeComponent();
 - contacts = new Contacts();
 - contacts.SearchCompleted += contacts_SearchCompleted;
 - contacts.SearchAsync("", FilterKind.DisplayName, "查詢聯(lián)系人");
 - }
 - //通訊錄搜索完成事件處理
 - void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
 - {
 - ContactResultsData.DataContext = e.Results;
 - }
 - }
 - }
 
運(yùn)行的效果:
原文鏈接:http://www.cnblogs.com/linzheng/archive/2011/09/14/2176720.html
【編輯推薦】
- 在WP應(yīng)用中使用Google Map替代Bing Map
 - 淺談Windows Phone應(yīng)用程序生命周期
 - Windows Phone 7數(shù)字羅盤使用指南
 - Windows Phone 7文件下載進(jìn)度和速度顯示
 - WP7開發(fā)中Coding4Fun的五種彈出框介紹
 
















 
 
 

 
 
 
 