除RawContacts.VERSION和RawContacts.DIRTY之外是否有任何指示符告诉我是否已创建新联系人?
现在我检查联系人数据库中的“DIRTY” - 接触,然后如果VERSION字段大于2,那么它是一个已更改的联系人,否则它是一个新的联系人。
但现在我遇到的问题是,如果我的SyncAdapter由于网络问题或服务器问题导致无法同步这个新联系人,我可能会错过它,如果用户再次更改联系人,那么我的syncadapter会有第二次机会上传它。因为VERSION字段将大于2,并且我的syncadapter无法识别此联系人是新联系人。
我检查了两次引用,但找不到任何表示它的字段。
任何提示都受到高度赞赏。
干杯, Ali3n
答案 0 :(得分:0)
我想我找到了丢失的拼图:RawContacts.SOURCE_ID
将此行唯一标识为其源帐户的字符串。 通常,它是在插入原始联系人时设置的,而不是 事后改变了。一个值得注意的例外是一个新的原始联系人:它 将有一个帐户名称和类型(可能还有一个数据集),但没有 来源ID。这向同步适配器指示新联系人需要 要创建服务器端并将其ID存储在相应的中 手机上phone.SOURCE_ID字段的SOURCE_ID字段。