【发布时间】:2015-08-08 21:54:18
【问题描述】:
我正在制作一个用户可以通过单击注销按钮注销的应用程序。在注销之前,用户在活动 A 中,然后他单击导航抽屉中的 ogout 按钮,这会将他带到活动 B(登录屏幕活动)。现在在这里,如果我单击后退按钮,即使我正在通过以下代码清除活动堆栈,活动 A 也会重新出现,
Intent intent = new Intent(curr_context, Activity_B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
finish();
同样在Activity B(登录活动)我有以下代码,
public void onBackPressed() {
if (backPressedToExitOnce) {
super.onBackPressed();
} else {
this.backPressedToExitOnce = true;
Toast.makeText(curr_context, "Press again to exit", Toast.LENGTH_LONG).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
backPressedToExitOnce = false;
}
}, 2000);
}
}
我真的不知道我错在哪里。任何帮助,将不胜感激。提前致谢!!
【问题讨论】:
-
如果有登录用户,您的活动 B 中是否有任何代码可以启动活动 A?还是用户每次都应登录该应用程序?
标签: android android-lifecycle activity-lifecycle onbackpressed