2009-12-29 170 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

相關問題