Windows Phone如何获取和添加联系人
Windows Phone SDK 7.1 提供了獲取聯(lián)系人列表信息的API,雖然是只讀的,但是相比SDK 7.0已經(jīng)很不錯了。聯(lián)系信息獲取的相關(guān)API位于Microsoft.Phone.UserData空間下,對于聯(lián)系人獲取主要用到兩個類:Contacts, Contact。下面給出獲取聯(lián)系人信息的實例以及注意事項。
Windows Phone 獲取聯(lián)系人
1.首先創(chuàng)建一個Contacts對象,查詢聯(lián)系人信息的操作為異步處理,所以需要添加一個查詢完成事件(SearchCompleted)
Contacts contacts = new Contacts();
contacts.SearchCompleted += new EventHandler(SearchCompleted);
2.接下來就是調(diào)用查詢,開始查找聯(lián)系人
contacts.SearchAsync(String.Empty, FilterKind.DisplayName, null);
SearchAsync (stringfilter, FilterKind filterKind, Object state) 在用戶的聯(lián)系人數(shù)據(jù)中異步搜索聯(lián)系人信息,filter為篩選器,FilterKind篩選器種類,上列中為查詢所有聯(lián)系人信息。
3.查詢完成后會調(diào)用查詢完成事件(SearchCompleted)
private void SearchCompleted(object sender, ContactsSearchEventArgs e)
{
foreach (Contact result in e.Results)
{
//聯(lián)系人姓名
String name = Contact.DisplayName;
//聯(lián)系人電話
ContactPhoneNumber phoneNumber = Contact.PhoneNumbers.FirstOrDefault();
String phone = String.Empty;
if (phoneNumber != null)
{
phone = phoneNumber.PhoneNumber;
}
//聯(lián)系人地址
ContactAddress address = Contact.Addresses.FirstOrDefault();
String addr = String.Empty;
if (address != null)
{
addr = address.PhysicalAddress.AddressLine1;
}
//聯(lián)系人Email
ContactEmailAddress emailAddress = Contact.EmailAddresses.FirstOrDefault();
String email = String.Empty;
if (emailAddress != null)
{
email = emailAddress.EmailAddress;
}
//…………
}
}
注1:FirstOrDefault()為System.Linq.Enumerable類的函數(shù),需要手動添加命名空間using System.Linq;
注2:獲取聯(lián)系人地址PhysicalAddress.AddressLine1需要添加引用System.Device。
?
Windows Phone 獲取聯(lián)系人
前面介紹Windows Phone 獲取聯(lián)系人,通過Windows Phone SDK 7.1提供的API來獲取聯(lián)系人信息。但是對于添加聯(lián)系人并沒有可以直接使用的API,我們只能通過選擇器(Choosers)來實現(xiàn)添加聯(lián)系人信息的操作。
SaveContactTask 提供用于啟動聯(lián)系人應(yīng)用程序以及使用戶能夠保存聯(lián)系人的方法和事件。代碼編寫示例如下。
1.創(chuàng)建選擇器并添加選擇器操作完成事件(Completed)
SaveContactTask saveContact = new SaveContactTask();
saveContact.Completed += new EventHandler(saveCompleted);
2.為選擇器賦值(聯(lián)系人信息)并調(diào)用選擇器
saveContact.FirstName = "宇之樂";
saveContact.MobilePhone = "13888888888";
saveContact.HomeAddressStreet = "江蘇省南京市";
saveContact.PersonalEmail = "huizhang212@163.com";
saveContact.Show();
3.選擇器操作完成事件
void saveCompleted(object sender, SaveContactResult e)
{
switch (e.TaskResult)
{
case TaskResult.OK:
MessageBox.Show("保存聯(lián)系人成功!");
break;
case TaskResult.Cancel:
MessageBox.Show("用戶取消了操作!");
break;
case TaskResult.None:
MessageBox.Show("聯(lián)系人未被保存!");
break;
}
}
目前對聯(lián)系人的操作只有查詢和添加,暫時還無法進(jìn)行修改和刪除聯(lián)系人的相關(guān)操作。只能有用戶手動通過系統(tǒng)處理了。
?
本文轉(zhuǎn)自 wws5201985 51CTO博客,原文鏈接:http://blog.51cto.com/wws5201985/804122,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的Windows Phone如何获取和添加联系人的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mercury LoadRunner
- 下一篇: 基于DotNet构件技术的企业级敏捷软件