如何在没有打开应用程序的情况下使ContentObserver工作?

时间:2013-10-08 13:50:17

标签: java android addressbook contentobserver

我需要让我的应用程序在Android中监听地址簿中的更改。我已经读过可以使用ContentObserver并在ContactsContract.Contacts中监听更改来完成。当应用程序关闭时,似乎ContentObserver的生命周期结束。

即使应用程序未打开,如何使ContentObserver正常工作?

2 个答案:

答案 0 :(得分:0)

  

即使未打开应用程序,如何使ContentObserver正常工作?

这是不可能的。 ContentObserver背后的点是要通知可能影响正在运行的应用的更改,例如需要在显示该数据的活动中反映的数据更改。如果您的应用未投放,则无法使用ContentObserver

答案 1 :(得分:0)

使用return START_STICKY;在OnStartCommand中注册您的内容观察者,而不是在onCreate中注册它。它对我有用。

@Override  
public int onStartCommand(Intent intent, int flags, int startId) {  
    getContentResolver().registerContentObserver(uri,true, new SMSObserver(new Handler(), getBaseContext())); 
    return START_STICKY;    
}