2013-07-22 96 views
1

考慮下列情形唯一標識聯繫人:在Windows手機通訊錄

  • 我從一個隨機聯繫X從地址簿保存的數據導入ISO寄存
  • 我離開應用程序和修改聯繫X地址簿
  • 回到應用程序,我如何確定Iso存儲中的聯繫人X與我剛剛在地址簿中修改的聯繫人X相同?

我的意圖是定期將用戶的地址簿數據複製到Iso Storage中,然後將其與服務器同步。我只做READ操作,如果授權的話,這些操作是完全允許的。

問題是聯繫人ID是一個私人字段,我無法使用聯繫人存儲(具有公共ID)。

此外,WP聯繫人沒有內容規則,這意味着您可以聯繫沒有姓名,10個電話號碼,沒有電話號碼等,因此將一段內容作爲唯一標識符將無法工作,因爲一致性不能保證。

由於修改後的對象會導致修改後的代碼,所以哈希碼也不起作用。

任何幫助,非常感謝。

+0

可能的重複[windows phone 7 - 聯繫人和日曆唯一ID](http://stackoverflow.com/questions/6664599/windows-phone-7-contact-and-calendar-uniqueid) –

+0

不完全,這個問題限制自己到聯繫對象的屬性。我會更深入地尋找替代品。 – drl

回答

2

找到了答案 - 感謝這裏發佈的相關問題。

我反編譯Microsoft.Phone DLL,看起來Contact.GetHashCode實際上返回Contact.ID值。行爲已被證實在各種設備和仿真器上按預期工作。

所有那些一直堅持不允許開發人員訪問聯繫人ID等信息的人 - 請記住,用戶聯繫訪問權限可能會在市場中被拒絕。當我開發時,我假設用戶完全理解自己進入的內容,因爲我花時間寫出了有意義的描述,並且MS進行了良好的驗收測試。如果用戶突然現實應用程序「打破了他的隱私」,那麼這不是我作爲開發人員的問題。

最後一段是因爲我看到幾個答案,例如「開發者不需要這些功能,他們打破隱私」。

相關問題