【问题标题】:Uniquely identifying contacts in a Windows Phone Address Book唯一标识 Windows Phone 通讯簿中的联系人
【发布时间】:2013-07-22 09:47:01
【问题描述】:

考虑以下情况:

  • 我将通讯录中随机联系人 X 的数据保存到 Iso 存储中
  • 我退出申请,修改通讯录中的联系人X
  • 回到应用程序,如何识别 Iso Storage 中的 Contact X 与我刚刚在通讯录中修改的 Contact X 相同?

我的目的是定期将用户的通讯录数据复制到 Iso 存储中,然后将其与服务器同步。如果获得授权,我只会执行完全允许的 READ 操作。

问题是联系人 ID 是一个私有字段,我不能使用联系人存储(具有公共 ID)。

此外,WP Contacts 没有内容规则,这意味着您可以联系没有姓名、有 10 个电话号码、没有电话号码等,因此将一段内容作为唯一标识符是行不通的,因为一致性不保证。

哈希码也不起作用,因为修改后的对象会导致修改后的代码。

非常感谢任何帮助。

【问题讨论】:

标签: c# windows-phone-8 contacts


【解决方案1】:

找到答案 - 感谢此处发布的相关问题。

我反编译了 Microsoft.Phone DLL,看起来 Contact.GetHashCode 实际上返回了 Contact.ID 值。已确认行为在各种设备和模拟器上按预期工作。

所有那些一直坚持不应允许开发人员访问诸如联系人 ID 等信息的人 - 请记住,用户的联系人访问权限可能会在市场上被拒绝。当我在开发时,我假设用户完全理解他正在做什么,因为我花时间写了一个有意义的描述,而 MS 做了很好的验收测试。如果用户突然意识到该应用“侵犯了他的隐私”,这不是我作为开发者的问题。

最后一段的动机是,我看到一些答案表述为“开发人员不需要这些功能,它们会破坏隐私”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多