如果在Android中按下向上按钮,请检查活动是否在堆栈中

时间:2015-10-29 12:58:49

标签: android

如何检查指定的Activity是否在Stack中,如果没有启动它们。

case android.R.id.home:
            finish();
            return true;

正如您所看到的,现在它只是完成了当前的Activity,通常它会显示之前启动的Activity。 所以它看起来像:

activity1 - > activity2 - >活动3

我想跳过activity2,如果用户想从activity3上升到activity2,那么必须启动它。

我希望它清楚我想做什么,如果不是只是问!

亲切的问候!

1 个答案:

答案 0 :(得分:0)

您可以使用Intent flags通过在使用intent启动指定活动之前添加任何内容来实现您想要的目标

例如,如果您在活动3中并希望转到活动2,如果它已经在堆栈中,则可以使用FLAG_ACTIVITY_REORDER_TO_FRONT标记

如文件所述,如果存在,将把现有活动带到顶部

示例:

Intent intent = new Intent(..);
intent.addFlags(FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

...

但是,如果您真的想要访问活动堆栈AFAIK,那么elsewhere所描述的不可能,但是你可以实现这个行为。

例如,如果要跟踪活动2,可以在应用程序中添加一个变量,该变量指示活动2是否存在并使用该信息构建。

相关问题