我有一个Splash Activity,登录Activity和仪表板。
Splash Activity做GCM等工作。 登录将只有登录。
现在,如果我登录并移动到仪表板,当用户按下仪表板上的后退按钮时,它应该将用户重定向到退出,而不是登录屏幕。同样,如果用户会话已过期,则App会将用户重定向到登录屏幕。
现在我在登录屏幕上处理了Backbutton,所以它不应该允许用户返回到prev活动,但是如何允许用户退出。
同样我在仪表板上处理了Backbutton,因此它不允许用户进入上一个登录屏幕。
退出仪表板和登录活动的最佳方法是什么,而不必转到之前的活动。
答案 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(),这样,堆栈中只有一个活动实例。