点击主页按钮,然后通过单击应用程序图标返回到同一活动后,应用程序崩溃

时间:2018-06-29 13:37:59

标签: java android crash setcontentview onsaveinstancestate

安装活动后启动活动时,它运行良好;然后,如果我点击设备的主页按钮(我使用的是Lenovo TB3平板电脑),然后通过单击其图标再次启动活动,则该应用程序将崩溃并自动重新启动。 我无法解决问题。

我的堆栈跟踪:

App has crashed
java.lang.RuntimeException: Unable to start activity ComponentInfo java.lang.IllegalStateException: Already added!

我已经检查了应用程序的生命周期, 当我按下设备的后退按钮时,以下方法被称为

  1. onCreate()
  2. onStart()
  3. onResume()

当我按下“后退”按钮时,以下方法被称为

  1. onPause()
  2. onStop()
  3. onDestroy()

并且,当按下主屏幕按钮时,调用了与上述相同的方法。 那么,为什么在按下主屏幕按钮后单击该应用程序的图标会使其崩溃? MyActivity代码:

protected void onCreate(Bundle savedInstanceState) {
    Log.d(TAG, "onCreate:savedInstanceState" +savedInstanceState);
    super.onCreate(savedInstanceState);//At this line crash happens
    setContentView(R.layout.basic_activity_concept_home);
    Logger.d(TAG, "onCreate: ");
    ButterKnife.bind(this);
    student = getIntent().getParcelableExtra(Constants.JSON_KEY_STUDENT);
    pageIndex = 0;
    pager.addOnPageChangeListener(onPageChangeListener);
    setPresenter(presenter);
    showProgress(R.string.getting_concept_activities);
}

调用上述活动的代码:

@OnClick(R.id.btn_concept_basic_activities)
    public void goToConceptActivities() {

        Intent intent = new Intent(this, BasicActivityConceptHome.class);
        intent.putExtra(Constants.JSON_KEY_STUDENT, student);
        startActivity(intent);
    }

我没有找到解决此问题的方法。 任何帮助将非常感激。 :) 谢谢:)

1 个答案:

答案 0 :(得分:0)

如果您的活动在清单中声明为 singleTask singleInstance ,则会发生这种情况。