如何从android中的backstack中删除活动?

时间:2016-11-07 04:23:44

标签: android

我有一个应用程序,其中我有三个活动,即: - 登录,MainActivity和密码活动。当我进入密码活动并做一些事件然后登录活动来到这里当我按下它将删除登录和Mainactivity是我不想要的。我想要什么,当我按回设备两次它将简单地关闭应用程序不来Mainactivity.How我可以解决这个问题。

我尝试但未成功的代码。

登录代码: -

@Override
protected void onResume() {
    super.onResume();
    clearAllTask();
}

private void clearAllTask() {
    CMainActivity m_MainActivity = new CMainActivity();
    if (m_MainActivity.m_MainActivity != null) {
        m_MainActivity.m_MainActivity.finish();
    }

}

和MainActivity的代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    m_MainActivity = this;
}

1 个答案:

答案 0 :(得分:2)

您需要清除使用Intent
的后堆栈 像这样:

Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();

此处FirstActivity将从后台清除并将完成。您也将导航到SecondActivity。因此,当您从SecondActivity按下后退按钮时,它将关闭应用程序 希望这能解决你的问题。