OnBackButtonPressed =>我的应用应该关闭或移动到背景

时间:2013-10-17 12:27:58

标签: android android-activity

我有一个Splash Activity,登录Activity和仪表板。

Splash Activity做GCM等工作。 登录将只有登录。

现在,如果我登录并移动到仪表板,当用户按下仪表板上的后退按钮时,它应该将用户重定向到退出,而不是登录屏幕。同样,如果用户会话已过期,则App会将用户重定向到登录屏幕。

现在我在登录屏幕上处理了Backbutton,所以它不应该允许用户返回到prev活动,但是如何允许用户退出。

同样我在仪表板上处理了Backbutton,因此它不允许用户进入上一个登录屏幕。

  1. splash => login =>仪表板
  2. Splash =>仪表板(如果会话未过期)
  3. 仪表盘=>其他活动=>登录
  4. 退出仪表板和登录活动的最佳方法是什么,而不必转到之前的活动。

2 个答案:

答案 0 :(得分:2)

您可以完成活动,也可以在AndroidManifest.xml上声明活动,不要留在活动堆栈上。 Android docs

android:noHistory=["true" | "false"] 

答案 1 :(得分:1)

当用户按下仪表板上的后退按钮时,它应该将用户重定向到退出,不在登录屏幕上。

为此,您应该在将意图传递到主屏幕后完成活动

startActivity(new Intent(ActivityLogin.this, ActivityHome.class));
            finish();

如果会话过期,请通过传递意图再次启动登录活动。

 startActivity(new Intent(ActivityHome.this, ActivityLogin.class));
finish();

每次在这种情况下都必须使用finish(),这样,堆栈中只有一个活动实例。