我正在构建一个侦听CallLog.Calls内容提供商中的更改的应用程序。因此,此内容提供商上的任何更改都将通知应用程序的观察者,该观察者将插入已更改的数据。
但有一个问题,当应用程序不运行时会收到通知,即应用程序不会在不运行时捕获更改的数据。
所以我的问题是,有没有一种方法可以捕获应用程序不运行时更改的数据?例如,我进行了8次调用,但应用程序没有运行,因此向CallLog.calls内容提供商添加了8个新数据。那么,有没有一种方法可以在应用程序启动后捕获这8个新数据?
谢谢!
发布于 2010-12-17 04:05:08
如果有一个在来电上触发的Intent
,你可以通过使用BroadcastReceiver
让你的应用程序响应,并在你的清单中创建一个IntentFilter
。
或者只在你的应用启动时查询提供商...
编辑:
ACTION_PHONE_STATE_CHANGED
是一个TelephonyManager
意图,您可以侦听并检查它是否是TelephonyManager.CALL_STATE_RINGING
。
https://stackoverflow.com/questions/4467463
复制