如何开始一个没有parent的新activity?

How to start a new activity which has no parent?

在我的 android 工作室项目中,我从主要 activity 开始新的 activity。

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

当我在 main activity 中按下后退按钮时,应用程序退出到桌面。但是当我使用函数 authenticated() 启动新的 activity 并按下后退按钮时,应用程序返回到主 activity。我希望它退出到桌面而不是返回主 activity。我该如何组织?

如果您想在打开新的 activity 时关闭当前的 finish(),请调用 finish()

例子

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

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

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

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

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

    }