我有一个用户登录的登录屏幕。之后,用户将进入主屏幕。
现在我的问题是当按下后退按钮时,用户再次进入登录屏幕。
有没有办法解决这个问题?
我已经尝试在finish()
之后立即调用startActivity()
,但它只会导致应用程序崩溃,并且似乎也不是一个好的解决方案。
答案 0 :(得分:45)
在清单中,添加android:noHistory="true"
作为登录活动的属性。
答案 1 :(得分:6)
在finish()
之后调用startActivity()
即可。您应该调查在这种情况下它崩溃的原因。
答案 2 :(得分:1)
考虑启动主应用程序,然后启动登录屏幕作为自定义模式对话框。
模态发布的提示:
builder.setCancelable(false)
答案 3 :(得分:0)
android:noHistory=true
。 如果您只想从特定活动(例如密码活动)返回“登录”,请覆盖onBackPressed()
:
@Override
public void onBackPressed() {
super.onBackPressed();
}
“主屏幕”的
,位于“登录/密码”活动之后,带有以下代码,
Intent homeIntent = Intent(Intent.ACTION_MAIN);
homeIntent.addCategory( Intent.CATEGORY_HOME );
homeIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP;
startActivity(homeIntent);
这将使您的应用程序在按下时的次数降到最低,并且不会返回“登录/密码”活动。
如果您想终止该应用程序,请使用
android.os.Process.killProcess(android.os.Process.myPid());
退出申请
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN){
this.finishAffinity()
}