如果对联系人书籍进行任何更改,我正在处理将联系人上传到服务器的功能。
我找到的一种方法是查询ContactsContract.Data
的DATA_VERSION列并将每个联系人的版本保存到应用特定的共享首选项,稍后在requery
表格中检查是否存在任何版本不匹配。
但这显然太沉重,因为我所需要的只是一个布尔值是否触及整个通讯录。
注意我无法通过ContentObserver
执行此操作,因为当应用未运行时,地址簿可能会更改。
是否有人为整个地址簿生成一个校验和并稍后检查?
答案 0 :(得分:0)
嗯,我想我会自己回答这个问题。我最后只是查询Data.CONTACT_LAST_UPDATED_TIMESTAMP并将最新时间保存在共享首选项中。下次只查询表中的条目时间晚于保存时间。这可能会再次通过整个表,但肯定比缓冲所有版本更快,更有效