新创建的联系人的指标

时间:2011-08-26 18:36:21

标签: android contactscontract

除RawContacts.VERSION和RawContacts.DIRTY之外是否有任何指示符告诉我是否已创建新联系人?

现在我检查联系人数据库中的“DIRTY” - 接触,然后如果VERSION字段大于2,那么它是一个已更改的联系人,否则它是一个新的联系人。

但现在我遇到的问题是,如果我的SyncAdapter由于网络问题或服务器问题导致无法同步这个新联系人,我可能会错过它,如果用户再次更改联系人,那么我的syncadapter会有第二次机会上传它。因为VERSION字段将大于2,并且我的syncadapter无法识别此联系人是新联系人。

我检查了两次引用,但找不到任何表示它的字段。

任何提示都受到高度赞赏。

干杯, Ali3n

1 个答案:

答案 0 :(得分:0)

我想我找到了丢失的拼图:RawContacts.SOURCE_ID

Documentation说:

  

将此行唯一标识为其源帐户的字符串。   通常,它是在插入原始联系人时设置的,而不是   事后改变了。一个值得注意的例外是一个新的原始联系人:它   将有一个帐户名称和类型(可能还有一个数据集),但没有   来源ID。这向同步适配器指示新联系人需要   要创建服务器端并将其ID存储在相应的中   手机上phone.SOURCE_ID字段的SOURCE_ID字段。