0

我有一个 Splash Activity 、 login Activity 和仪表板。

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

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

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

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

  1. 飞溅 => 登录 => 仪表板
  2. Splash => 仪表板(如果会话未过期)
  3. 仪表板=> 其他活动=> 登录

退出仪表板和登录活动而不转到以前的活动的最佳方式是什么。

4

2 回答 2

2

您可以完成该活动,也可以在 AndroidManifest.xml 上声明该活动以不留在活动堆栈上。安卓文档

android:noHistory=["true" | "false"] 
于 2013-10-17T12:31:56.860 回答
1

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

为此,您应该像这样将意图传递给主屏幕后完成活动

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

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

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

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

于 2013-10-17T12:32:12.867 回答