处于活动状态时从服务刷新活动

时间:2010-07-12 03:31:51

标签: android

我有一个应用程序,我希望仅当服务中的活动处于前台(活动)时才更新活动(精确列出活动)

我可以使用ListActivity Intent,但问题是即使它在后台也会引发活动。

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

我们有一个通用的解决方案吗?

2 个答案:

答案 0 :(得分:20)

  

我们是否有一个通用的解决方案   ?

可能有十几个。以下是一些:

  • 让活动在onResume()中使用该服务注册一个侦听器对象,并将其移除onPause()
  • 发送私人广播,当活动位于前台时,通过registerReceiver()通过活动获取
  • 让活动为服务提供“待定结果”样式PendingIntent
  • 使用ResultReceiver
  • 使用ContentProvider,活动保留在提供商的Cursor上,服务更新提供商

This set of projects演示了远程服务环境中的前三个。

答案 1 :(得分:0)

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

click here