在Windows 8商店应用程序中使用ContactPickerUI

时间:2013-03-03 21:59:32

标签: microsoft-metro windows-runtime contacts windows-store-apps

我想从我的Windows 8商店应用添加一个新联系人并将其保存,以便它显示在操作系统附带的人员应用中。

文档说有一个类ContactPickerUI,其方法为public AddContactResult AddContact(string id, Contact contact),而且似乎正是我需要它完成的工作。

问题是我不知道如何获取对ContactPickerUI对象的引用,因为该类无法实例化。

如果我尝试

var contactPickerUi = new ContactPickerUI();

我收到一条错误消息:“类型'Windows.ApplicationModel.Contacts.Provider.ContactPickerUI'没有定义构造函数”

Microsoft提供了一个在线代码示例,他们使用ContactPickerUI here

问题是,在该代码中,当从外部源激活应用程序(即它是共享目标)时,它们会在该对象上获得引用,而我的应用程序则不是这样。

当您的应用程序正常启动时,有没有办法访问ContactPickerUI?或者是否有其他方式以编程方式添加新联系人,而不通过魅力栏分享?

1 个答案:

答案 0 :(得分:3)

我猜你误解了ContactPickerUI的目的。 API不用于添加联系人,因此它们会显示在人员应用程序中(为此,您必须使用People应用程序从其中检索联系人的服务之一的API),但要将联系人添加到列表中当用户选择您的应用程序作为联系人选择器提供者时,将显示给用户。这就是为什么只有在使用ActivationKind.ContactPicker激活您的应用时才能获得该课程的实例。