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