1

我想從我的Windows 8商店應用程序中添加一個新聯繫人並將其保存,以便它將出現在操作系統附帶的人員應用程序中。在Windows 8商店應用程序中使用ContactPickerUI

該文件說有一個類ContactPickerUI它有方法public AddContactResult AddContact(string id, Contact contact),似乎做我完全需要它做的工作。

問題是我不知道如何獲得對ContactPickerUI對象的引用,因爲該類不能被實例化。

如果我嘗試做

var contactPickerUi = new ContactPickerUI(); 

我得到一個錯誤消息說:「類型‘Windows.ApplicationModel.Contacts.Provider.ContactPickerUI’沒有定義構造函數」

有一個代碼示例在線從Microsoft使用ContactPickerUIhere

問題是,在該代碼中,當從外部源(即共享目標)激活應用程序時,它們會在該對象處獲得引用,但對於我的應用程序而言並非如此。

當應用程序正常啓動時,有沒有辦法訪問ContactPickerUI?還是有另一種方式編程添加一個新的聯繫人,而不通過魅力欄共享?

回答

3

我想你誤會了ContactPickerUI的目的。該API不用於添加聯繫人,以便它們出現在People應用中(爲此,您必須使用People應用從其中檢索聯繫人的服務之一的API),但要將聯繫人添加到列表將在他選擇您的應用程序作爲聯繫人選取器提供者時顯示給用戶。這就是爲什麼當你的應用被ActivationKind.ContactPicker激活時,你只能得到該類的一個實例。

+0

聽起來很公平,謝謝!但是,如何「使用People應用程序檢索聯繫人的服務之一的API」?你在談論哪些服務? – 2013-03-04 10:10:47

+0

@alex_and_ra我正在談論您在People應用中配置的帳戶。它沒有自己的本地存儲,它取決於谷歌,Hotmail,Facebook等direcotry服務)。你需要直接與其中一個交談。 – 2013-03-04 14:13:00

相關問題