我想獲取存儲在手機中的所有聯繫人並根據需求進行更新。閱讀所有手機通訊錄並進行更新。 windows phone 8
http://www.silverlightshow.net/items/Windows-Phone-8-Contacts-Integration.aspx
此鏈接顯示獲得的接觸,但我沒有得到所有聯繫人。我只能獲取使用我的應用創建的聯繫人。
有什麼辦法可以讓所有聯繫人和更改手機號碼。
感謝
我想獲取存儲在手機中的所有聯繫人並根據需求進行更新。閱讀所有手機通訊錄並進行更新。 windows phone 8
http://www.silverlightshow.net/items/Windows-Phone-8-Contacts-Integration.aspx
此鏈接顯示獲得的接觸,但我沒有得到所有聯繫人。我只能獲取使用我的應用創建的聯繫人。
有什麼辦法可以讓所有聯繫人和更改手機號碼。
感謝
嘗試這樣的事情
void GetContact()
{
cons = new Contacts();
//Identify the method that runs after the asynchronous search completes.
cons.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(ContactsSearchCompleted);
//Start the asynchronous search.
cons.SearchAsync(String.Empty, FilterKind.None, "Contacts Test #1");
}
private void ContactsSearchCompleted(object sender, ContactsSearchEventArgs e)
{
cons.SearchCompleted -= ContactsSearchCompleted;
//e.Results should be the list of contact, since there's no filter applyed in the search you shoul have all contact here
}
不這是我的一個老沒有測試代碼複製粘貼,所以你可能需要改變某些事情了
從您提供的鏈接(強調增加):
隨着Windows Phone 8的推出,微軟推出了一個全新的概念「custom 聯繫商店「[2]。除了對用戶的 聯繫人列表的只讀訪問以及上述演示的使用 創建新條目的單獨任務的方式(兩種都可以在7.x中獲得)之外,我們現在可以將 寫入我們自己的數據人們默默地集中,並且沒有用戶 的同意。 但是應用程序仍然無法操縱 從其他地方發起的現有聯繫人。從這個意義上說,屬於 應用程序的數據與其他應用程序有些分離。
這是通過設計,你不能編輯你沒有創建的聯繫人。
謝謝。但我知道這是寫入英寸我發佈希望我可以得到任何解決方案。 – Krishna
你不能'' - 愚蠢的蹩腳的MS甚至不支持聯繫從vcard文件導入。所有的MS都希望你把每個數據都放到他們的服務器上,這樣他們就擁有了它。
首先,你應該跟Capability
爲WP8從添加WMAppManifest.xml
爲wp8.1從添加Package.appxmanifest
現在定義一個類PhoneContact
來存儲數據
public class PhoneContact {
public string Name { get; set; }
public string Number { get; set; }
public string Email { get; set; }
}
創建的ObservableCollection,並從構造函數中調用了以下行動來讀取聯繫人列表。 N.B使用下面的命名空間還
using Microsoft.Phone.UserData;
using System.Collections.ObjectModel;
ObservableCollection<PhoneContact> phoneContact;
public MainPage() {
InitializeComponent();
phoneContact = new ObservableCollection<PhoneContact>();
ReadPhoneContact();
}
void ReadPhoneContact(){
Contacts cnt = new Contacts();
cnt.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(Contacts_SearchCompleted);
cnt.SearchAsync(String.Empty, FilterKind.None, "Contacts Test #1");
}
閱讀所有接觸火下列事件之後。您可以閱讀多個聯繫電話,電子郵件等。
void Contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
foreach (var item in e.Results) {
var contact = new PhoneContact();
contact.Name = item.DisplayName;
foreach (var pn in item.PhoneNumbers)
contact.Number = string.IsNullOrEmpty(contact.Number) ? pn.PhoneNumber : (contact.Number + " , " + pn.PhoneNumber);
foreach (var ea in item.EmailAddresses)
contact.Email = string.IsNullOrEmpty(contact.Email) ? ea.EmailAddress : (contact.Email + " , " + ea.EmailAddress);
phoneContact.Add(contact);
}
}
感謝您的快速回復。我試過這種方法。它給了我所有的聯繫人,但我如何更新如果我想? – Krishna
您不能,聯繫人是隻讀的。 – Pantelis