我有一个 Activity_A ,它有一个注销选项。单击该按钮后,我调用了登录活动。因此,当我在登录活动中单击设备后退按钮时,它会将我带回具有注销选项的 Activity_A。我想要的是,当我在登录活动时单击设备后退按钮时,它必须将我带到设备主屏幕。诸如“关闭应用程序”或“清除活动堆栈”之类的东西。
我试过这个:
Intent intent = new Intent(Activity_A.this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
但它没有用,我也尝试在上面的代码中使用finish(),然后它把我带到我在Activity_A之前调用的Activity(如预期的那样)。
我搜索了我的案例,但找不到完美的解决方案,有人可以帮我实现我想要的吗?
我有一个想法,在我的登录活动中覆盖设备后退按钮 onClick,以便它显示设备的主屏幕并清除所有活动堆栈......这可能吗?如果是,它安全吗?
这就是我在 LoginActivity 中所做的,就像我想要的那样工作
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
}
但是有没有其他方法可以在不覆盖 onBackPressed() 的情况下实现这一点?