我通过调用启动活动来启动了自己的新活动。但是活动开始后,在方法onNewIntent中不会调用finish()

WebActivity.java

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    setIntent(intent);
    if (intent.getStringExtra("url") != null) {
        Intent intent1 = new Intent(getBaseContext(), WebActivity.class);
        intent1.putExtra("url",intent.getStringExtra("url"));
        startActivity(intent1);
        finish();
    }
}

最佳答案

费耶

首先调试并在不需要的行下面删除

super.onNewIntent(intent);
setIntent(intent);


在Intent中调用finish()

Intent intent1 = new Intent(getBaseContext(), WebActivity.class);
intent1.putExtra("url",intent.getStringExtra("url"));
finish();
startActivity(intent1)


您也可以尝试使用FLAG_ACTIVITY_NO_HISTORY


  如果设置,则新活动不会保留在历史记录堆栈中。立刻
  用户离开它,活动结束。这可能
  也可以使用noHistory属性设置。

10-02 06:15