什么是在android中存储联系人ID的“正确”方法

时间:2012-02-06 11:09:33

标签: android

我在市场上有一个应用程序,它使用联系人选择器存储联系人的详细信息。当我从联系人选择器返回时,我一直在使用以下内容获取联系人:

cursor.getColumnIndex(ContactsContract.Contacts._ID)

我发现使用它是可以的,直到有人闪光新rom或获得新手机,然后所有ID都已更改。

我查看了android文档,并且我看到了使用ContactsContract.Contacts.LOOKUP_KEY的引用,但描述让我感到困惑“一个不透明的值,其中包含如何查找联系人的提示,如果其行ID更改为同步或聚合的结果。“

那么我应该用什么来存储联系人ID?

1 个答案:

答案 0 :(得分:1)

查找密钥是联系人的正确参考。

Contacts Provider / Contacts:

  

ContactsContract.Contacts表还有LOOKUP_KEY列   这是联系行的“永久”链接。因为联系人   提供商自动维护联系人,可能会更改联系人   响应聚合或同步的行的_ID值。即便如此   发生时,内容URI CONTENT_LOOKUP_URI与联系人的内容相结合   LOOKUP_KEY仍将指向联系人行,因此您可以使用   LOOKUP_KEY保持与“最喜欢的”联系人的链接,等等。   此列具有自己的格式,与格式无关   _ID专栏。