监控方法:
contactObserver = new ContactsObserver(workHandler);
getContentResolver().registerContentObserver(ContactsContract.Data.CONTENT_URI, false, contactObserver);
类定义:
class ContactsObserver extends ContentObserver {
public ContactsObserver(Handler handler) {
super(handler);
}
long last_changge_contacts_time = 0l;
@Override
public void onChange(boolean selfChange) {
//对于小于一分钟的变更,忽略
if(System.currentTimeMillis()-last_changge_contacts_time<60){
return;
}
last_changge_contacts_time = System.currentTimeMillis();
try {
//添加需要的操作
} catch (Throwable e) {
e.printStackTrace();
}
super.onChange(selfChange);
}
@Override
public boolean deliverSelfNotifications() {
return false;
}
}