2009-12-29 141 views

回答

3

UPDATE
您可以使用 REVISION场拿到最后日期和时间,该联系人的信息进行了修改:

long lastChanges = contact.getDate(Contact.REVISION, 0); 

所以,你可以在持久性存储中保存联系人上次更改日期,并将它们发送到服务器,下次检查实际REVISION值,并与Persistent Store中保存的值进行比较。
记得处理 删除联系人。

错了,尝试过这种做法,修订场不被黑莓联系人列表支持另请参见How to Get last contact modification When Revision field is not supported.


另一种选择是使用BlackBerryContactList.addListener()PIMListListener,但其相当复杂,需要背景应用程序一直在运行。
UPDATE见例如Notify a BlackBerry device application when a contact list changes


你可以做的另一件事是存储联系人到持久性存储和同步之前比较各个领域。
更新你将不得不复制联系人字段值到一些Persistable实现(我会建议向量)。请参阅A13 – Storing Persistent Data

+0

我喜欢在同步之前比较字段的想法,但我不确定对大量联系人列表的性能影响。这部分将需要精心设计。 – omermuhammed 2009-12-30 07:35:38

+0

我正在尝试comapring领域,但我无法将blackberrycontacts作为持久性存储,它显示nonPersistableObject异常。我也在后台运行我的应用程序,所以我怎么能BlackBerryContactList.addListener()和PIMListListener获取更新联系人。 – Rishabh 2010-01-07 12:01:24

+0

Rishabh,查看更新 – 2010-01-08 07:58:54

相关问题