Windows Phone 7獲取用戶通訊錄和日程安排
在Windows Phone 7.0版本的API里面對用戶手機(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ì)信息請查閱MSDN。
類 | 說明 |
Account | 用戶在手機(jī)上設(shè)置的提供聯(lián)系人信息的賬號類型,例如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)系人電話號碼信息的類。 |
Contacts | 通訊錄類,提供了操作用戶手機(jī)通訊錄聯(lián)系人的事件和方法。 |
ContactsSearchEventArgs | 提供SearchCompleted事件返回信息的類。 |
PhoneDataSharingContext | 數(shù)據(jù)共享的基類。 |
枚舉 | 說明 |
AddressKind | 地址的種類。 |
AppointmentStatus | 日程安排的狀態(tài)。 |
EmailAddressKind | 郵件地址的種類。 |
FilterKind | 通訊錄搜索的種類。 |
PhoneNumberKind | 電話號碼的種類。 |
StorageKind | 用戶通訊錄和日程安排的數(shù)據(jù)提供源的種類。 |
Contact類的屬性:
屬性名字 | 說明 |
Accounts | 聯(lián)系人的來源賬號。 |
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)系人的電話號碼。 |
SignificantOthers | 聯(lián)系人的其他關(guān)聯(lián)信息。 |
Websites | 聯(lián)系人的網(wǎng)站。 |
Appointment類屬性:
屬性名字 | 說明 |
Account | 來源賬號。 |
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è)例子來測試一下獲取手機(jī)用戶的通訊錄的信息。
MainPage.xaml文件:
- <ListBox Name="ContactResultsData" ItemsSource="{Binding}" >
- <ListBox.ItemTemplate>
- <DataTemplate>
- <StackPanel>
- <TextBlock Text="{Binding DisplayName}" />
- <!--電話號碼-->
- <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的五種彈出框介紹