如何开始没有父母的新活动?

时间:2019-07-14 13:38:39

标签: android android-activity new-operator back

在我的android studio项目中,我从主要活动开始新的活动。

public void authenticated() {
    Intent intent = new Intent(this, AuthenticatedActivity.class);
    startActivity(intent);
}

当我在主要活动中按返回按钮时,该应用程序将退出桌面。但是,当我使用功能authenticated()开始新活动并按返回按钮时,应用程序将返回到主要活动。我希望它退出桌面而不是回到主要活动。我该如何组织?

3 个答案:

答案 0 :(得分:3)

如果要在打开新活动时关闭当前活动,请致电finish()

示例

public void authenticated() {
    Intent intent = new Intent(this, AuthenticatedActivity.class);
    startActivity(intent);
    finish();
}

您还可以添加intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)来清理活动堆栈。

答案 1 :(得分:0)

 @Override
    public void onBackPressed() {

        if(isTaskRoot()){
            authenticated()
        }else{
            super.onBackPressed();
        }

    }

答案 2 :(得分:-1)

您可以在AuthenticatedActivity的onBackPressed上使用moveTaskToBack(true),如下所示

 @Override
 public void onBackPressed() {
   moveTaskToBack(true);
 }