从服务中刷新活动时,如何使其处于活动状态?

10

我有一个应用程序,希望在Service的Activity处于前台(活动状态)时才更新Activity(确切地说是ListActivity)。

我可以使用ListActivity Intent,但问题是即使在后台,它也会弹出Activity。

我还考虑过在ListAdapter上使用registerDataSetObserver,但这要求必须更新游标。从外部服务更新游标可能不可行。

我们是否有一般的解决方案?

2个回答

20
我们是否有一个通用解决方案呢? 可能有一打以上的解决方案。以下是其中几个:
  • onResume()中让活动向服务注册一个监听器对象,并在onPause()中将其移除
  • 发送一个私有广播,由活动通过registerReceiver()在前台接收
  • 让活动向服务提供一个“待定结果”样式的PendingIntent
  • 使用ResultReceiver
  • 使用ContentProvider,活动持有来自提供者的Cursor,服务更新提供者
这套项目展示了前三种解决方案,在远程服务的环境下。

0

最好的解决方案是拥有一个集中的地方。我认为这是最好的解决方案。 看看这个:

点击这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接