2013-04-21 30 views

回答

2

使用ContentObserver當改變內容提供商作出通知。以下內容可用於瞭解通訊錄的變化

聲明內容觀察員

private final ContentObserver contentObserver = new ContentObserver(null) { 

    @Override 
    public void onChange(boolean selfChange) { 
        super.onChange(selfChange); 
        perform your task; 
      } 
    } 

註冊與android.provider.ContactsContract.Contacts.CONTENT_URI觀察者被通知接觸變化

this.getApplicationContext() 
      .getContentResolver() 
      .registerContentObserver(
        android.provider.ContactsContract.Contacts.CONTENT_URI, 
        true, contentObserver); 

不要忘記註銷它的onDestroy

this.getApplicationContext().getContentResolver() 
      .unregisterContentObserver(contentObserver); 

每當系統電話簿發生變化時,您都將通過onChange回撥方式收到通知。

但有一個問題是,你將被告知不僅添加,而且對任何改變(編輯/刪除)。我不確定是否有任何特定的簡單方法(作爲您自己可以跟蹤聯繫人的最糟糕方式)。

相關問題