通过广播通知当前可见的活动

时间:2015-01-22 14:46:56

标签: android mono broadcastreceiver

我对Android编程相对较新,我目前正在使用Mono Android(Xamarin)开发Android应用程序。我也可以将java解决方案转换为C#,所以不要担心发布java解决方案:)。现在到了场景,

我的应用流程如下;

用户启动应用 - >应用程序执行后台线程以检查项目更新 - >允许用户在返回线程时浏览应用程序 - >如果有更新,则当前可见活动应显示HUD并且必须更新项目。

我尝试通过创建一个广播接收器来实现上述功能,该接收器会在有更新时通知。然后,我从一个基类中派生所有活动,该基类监听此广播并显示HUD加载器。

但是,当有更新时,似乎还会通知backstack中的所有活动,并且显示多次执行HUD加载程序的相同代码段。是否有任何特定方式通知最顶层(应用程序拥有和可见)活动,以便加载器只显示一次?或者除了使用广播接收器之外,还有其他方法可以实现这一目标吗?对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

实现它的一种方法是在OnStart()和OnStop()回调中注册和取消注册您的广播接收器,如here所述。有关Android生命周期回调的更多信息,请参阅this guide