我感兴趣的是您对保持对启动Android 2.0的联系人的强大引用的最佳方式的意见。我已经阅读了很多关于这个问题但我不知道哪种技术是可取的,以及是否有任何新技术。以下是我到目前为止找到的3个选项:
1-不要使用自己的数据库。扩展contacts.contract以编写数据
2 - 使用ContentObserver跟踪对联系人所做的任何更改。但是,这种技术需要您的应用程序运行
3-在数据库中存储与CONTACT_ID相关的所有RAW联系人ID,并推断其所有RAW联系人的联合联系人的内容
在我的情况下,我需要保留一个单独的数据库,我想知道是否有任何其他新技术在聚合和反汇总后保持CONTACT_ID当前......
请告知
答案 0 :(得分:0)
我正在使用新的Contacts API,编写一个也是联系人数据源的应用程序。我根本不能推荐#3。要获取所有“我的”联系人数据,我只需在RawContacts.SYNC1字段中存储一个魔术值,并在我的应用启动时查询联系人内容提供商。
重新。你的问题,不要使用CONTACT_ID,因为它们是不稳定的。使用查找API,即如果您有原始联系人ID,请使用RawContacts.getContactLookupUri()转到联系人。同样,如果某些API为您提供了联系人ID,请使用Contacts.getLookupUri()获取您稍后可以使用的持久标识符。