Android:告诉应用程序返回前台时

时间:2011-09-08 00:24:28

标签: android

我有一个名为EntranceActivity的活动,它根据几个不同的参数路由到其他活动。

ActivityClearTop - ed,这样我就可以startActivity(...EntranceActivity...)重新路由EntranceActivity逻辑,而不必担心细微差别。它也是返回前台时应用程序的唯一入口点。

我需要能够确定此Activity何时从beginning(从首次启动/从后台开始)推送到前台与我在应用期间路由到它的时间用法。 (即从Activity2返回EntranceActivity

以下问题显示了如何确定应用是否位于前台...但EntranceActivity仅在应用位于Foreground时执行,因此似乎不是什么我正在寻找。

How can I tell if android app is running in the foreground?

2 个答案:

答案 0 :(得分:1)

您可以通过在onResume方法中的基本活动(您有一个权利?;-)),increment the value中重新计数...并在onPause方法中减少它来轻松完成此操作。如果该值不为零,那么您的应用程序可见: - )

答案 1 :(得分:0)

我最终通过添加另一个EntranceActivity来实现此功能,这是该应用的唯一入口点,并重定向到ViewDispatcherActivity(旧EntranceActivity)。

现在我可以在应用期间根据需要继续清除ViewDispatcherActivity,同时拥有一些Return-To-Foreground逻辑(因为用户在正常应用操作期间永远不会返回EntranceActivity)< / p>

EntranceActivity(唯一的应用入口点)

的onCreate:

if (ShouldShowAccessActivity()) { startActivityForResult( new Intent(EntranceActivity.this,AccessActivity.class)); return; }

//go to view dispatcher to further branch off.
startActivityForResult(new Intent(EntranceActivity.this,ViewDispatcherActivity.class));