2014-03-03 8 views

回答

1

您必須在您的服務中創建一個內容觀察者,並註冊該觀察者以偵聽聯繫人數據庫中的更改。 下面是聯繫人內容觀察者的例子:

ContactsContentObserver contentObserver = new ContactsContentObserver(); 
private class ContactsContentObserver extends ContentObserver 
{ 
    public ContactsContentObserver() 
    { 
     super(null); 
    } 

    @Override 
    public void onChange(boolean selfChange) 
    { 
     super.onChange(selfChange); 

     // handle change received 
    } 
} 

您可以註冊服務在onStart()方法的內容觀察者:

getContentResolver().registerContentObserver (ContactsContract.Contacts.CONTENT_URI, true, contentObserver); 

而且在服務的onDestroy註銷它()方法:

getContentResolver().unregisterContentObserver(contentObserver); 

希望它有幫助。

+0

是否也可以通過將內容URI更改爲'Uri.parse(「content:// icc/adn」)' – Udo

+0

@阿科斯我喜歡你的解決方案,但服務將一直在運行,因此內容觀察者也將始終如一。所以觀察員不註銷。這會導致任何問題 –

相關問題