BroadcastReceiver发送通知并更新ui(如果有活动)

迈克尔·马力诺斯·里库拉斯

我有一个活动,只显示一个每日计数器。当一天结束时,我想发送带有最后一天计数器的通知,将其插入数据库中,如果应用程序正在运行,请将计数器标签更新为零。

我认为我必须注册一个静态的<receiver>android.intent.action.DATE_CHANGED</receiver>以便即使活动未运行也能得到通知。我将值插入DB,然后发送通知。

还有一个动态创建的广播接收器,我将取消注册onPause,它会接收相同的事件,但只会更新UI,特别是标签。

这是最好的解决方案吗?

有什么办法broadcastReceiver可以使我Activity(如果正在运行)再次恢复?是否可以从broadcastReceiver调用Service,如果我的Activity正在运行,它将更新UI?

迈克尔·马力诺斯·里库拉斯

经过更多的阅读后,我发现最好的解决方案是以上所述。

用于DATE_CHANGED动作的静态广播接收器。这将启动一个服务,该服务将更新数据库并发送本地自定义广播(com.myBroadcast.WakeUpActivity)。Activity(如果正在运行)将为先前的自定义广播注册一个接收器(将取消注册onPause),并将更新UI。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章