C# 有没有办法在Windows Phone中将信息写入联系人?

C# 有没有办法在Windows Phone中将信息写入联系人?,c#,windows-phone-7,windows-phone-7.1,C#,Windows Phone 7,Windows Phone 7.1,我知道三种机制: 保存任务(如SaveEmailAddressTask),可用于将电话号码或电子邮件地址等特定信息保存到用户选择的联系人中 SaveContactTask,可用于创建新联系人 联系人API(Microsoft.Phone.UserData.Contacts),可用于搜索/枚举联系人 我缺少的是将一段数据(例如便条)写入联系人(例如从Contacts.SearchAsync()API返回的联系人)的方法 Windows Phone 7.1是否可以实现这一点 退一步说,我想做的是

我知道三种机制:

  • 保存任务(如SaveEmailAddressTask),可用于将电话号码或电子邮件地址等特定信息保存到用户选择的联系人中
  • SaveContactTask,可用于创建新联系人
  • 联系人API(Microsoft.Phone.UserData.Contacts),可用于搜索/枚举联系人
我缺少的是将一段数据(例如便条)写入联系人(例如从Contacts.SearchAsync()API返回的联系人)的方法

Windows Phone 7.1是否可以实现这一点

退一步说,我想做的是建立一些用户界面,允许用户选择联系人,并将所有信息(电话号码、电子邮件地址等)导入到我应用程序中的记录中

我试图解决的问题是确定我以前是否访问过该联系人并导入其数据-如果是,我只想刷新它(而不是创建新的重复联系人)


将数据写入联系人的另一种方法是保存与我导入的联系人关联的唯一ID,但我在联系人上也没有看到类似的属性…

SDK的v7.1中没有类似的内容,因此您可能需要研究定义自己的候选密钥的方法,鉴于数据的性质,您可能需要定义几种启发式方法来确定匹配的置信度,并应对多个移动目标(姓名、数字和电子邮件地址都可能发生变化,没有一个是不同的)。

这正是我担心的。是的-信息固有的波动性使得构建密钥变得困难。这是联系人API中一个相当大的场景漏洞。。。相比之下,iOS和Android都有这个支持……或者隐私/安全漏洞,这取决于你的观点。如果这确实是你的观点,那么随着联系人API的可用性,这个漏洞已经存在了,它已经允许应用程序获取所有联系人信息。同样,应用程序很可能创建一个全新的联系人,而不与用户交互。因此,隐私/安全性不是不完成Contacts API创建场景、公开稳定密钥(实际上Contact类中似乎有一个内部ID)和/或允许将新信息写入现有联系人的重要理由。当然可以;-)如何在没有用户交互的情况下创建新联系人?据我所知,创建我所知道的联系人的唯一方法是通过需要用户确认的方式是的,你是对的-我的错误是:在没有用户确认的情况下保存联系人。但是你可以在用户不知情的情况下获取任何和所有联系人。。。鉴于这已经是可能的,我看不出更新场景如何打开一个信息披露向量。