0

我需要让我的应用程序监听 Android 中地址簿的变化。我读过它可以使用ContentObserver和监听ContactsContract.Contacts. 似乎 ContentObserver 的生命周期在应用程序关闭时结束。

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

4

2 回答 2

1

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

这是不可能的。a 背后的要点ContentObserver是通知可能影响正在运行的应用程序的更改,例如需要反映在显示该数据的活动中的数据更改。如果您的应用程序未运行,则不能拥有ContentObserver.

于 2013-10-08T13:53:21.697 回答
0

在 OnStartCommand 中注册您的 Content Observer,return START_STICKY;而不是在 onCreate 中注册它。这个对我有用。

@Override  
public int onStartCommand(Intent intent, int flags, int startId) {  
    getContentResolver().registerContentObserver(uri,true, new SMSObserver(new Handler(), getBaseContext())); 
    return START_STICKY;    
} 
于 2014-02-18T04:21:46.243 回答