我已經註冊的服務ContentObserver
,我也得到了onchange()
功能,當有更新的手機,如呼叫或聯繫人更新。但我希望onchange()
函數只有在添加,更新或刪除時纔會被調用。但我不希望呼叫是傳入或傳出。那麼誰能告訴我哪個URI
我可以在contentObserver
註冊?我的代碼是在這裏ContentObserver的聯繫人更新手動
getContentResolver().registerContentObserver(ContactsContract.Contacts.CONTENT_URI, true,new Contact_change());
和Contact_change.java類就像
public class Contact_change extends ContentObserver{
public Contact_service() {
super(null);
}
@Override
public void onChange(boolean selfChange){
Log.i("contact_service","onchange");
Super.onChange(selfChange);
}
@Override
public boolean deliverSelfNotifications() {
return true;
}
}
編輯:
我還有一個問題是,停止該服務後,如果我取得了聯繫,然後改變也調用函數onchange()
。那麼我該如何阻止或取消註冊contentobserver
。
我不認爲這是可能的。上次呼叫的時間是聯繫人的一個字段,因此更改它將更改聯繫人 – njzk2
是否通過其他方式獲取聯繫人更改通知?因爲我想將聯繫人與我的應用程序同步。 – Nency
如果您收到不需要的活動的額外通知,我不認爲這是真正的問題。 – njzk2