2009-12-29 4 views

답변

3

당신은 마지막 날짜와 시간이 연락처의 정보가 수정 된 것을 얻기 위해 REVISION 필드를 사용할 수 있습니다
UPDATE :

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

그래서 당신은 영구 저장소에 연락처를 마지막으로 변경된 날짜를 저장하고로 보낼 수 있습니다 다음 번에 실제 REVISION 값을 확인하고 영구 저장소의 저장된 값과 비교하십시오.
이 추가 된이 삭제 된 것을 기억하십시오. 연락처.

잘못된,이 방법을 시도, 개정 필드가 블랙 베리 연락처 목록을 지원하지 않습니다 ... 또한 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

+0

필자는 필드를 comapring하려고했지만 persistent store로 blackberrycontacts를 저장할 수 없으며 nonPersistableObject Exception을 표시합니다. 또한 백그라운드에서 내 응용 프로그램을 실행하고 있으므로 BlackBerryContactList.addListener() 및 PIMListListener를 사용하여 업데이트 연락처를 가져올 수 있습니다. – Rishabh

+0

Rishabh, 업데이트보기 –

관련 문제