2

除了 RawContacts.VERSION 和 RawContacts.DIRTY 之外,是否有任何指标可以告诉我是否已创建新联系人?

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

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

我检查了两次参考文献,但找不到任何表明它的字段。

任何提示都非常感谢。

干杯,阿里3n

4

1 回答 1

0

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

文档说:

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

于 2012-01-18T14:08:55.573 回答