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

相关问题