Resume activity in Android

后端 未结 4 1783
情歌与酒
情歌与酒 2020-12-14 03:07

I have an app with 3 activities.

I have the main activity. This calls the second activity, which then calls the third activity. I want return to the main activity wi

相关标签:
4条回答
  • 2020-12-14 03:20

    You startActivityForResult instead of startActivity.

    refer the android dev for more info here.

    0 讨论(0)
  • 2020-12-14 03:22

    If your Activity is still running, this code will bring it to the front without entering onCreate

    Intent openMainActivity = new Intent(TerceraActiviry.this, Main.class);
    openMainActivity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivityIfNeeded(openMainActivity, 0);
    
    0 讨论(0)
  • 2020-12-14 03:22

    in order to get back to previous Activity you have to finish the visible one, use this:

    finish();
    

    If the activity was started for a result, you should give a result then, like this:

    Intent intent = new Intent();
    intent.putExtra(KEY_RESPONSE, responseData);
    setResult(RESULT_OK, intent);
    finish();
    

    And you should catch the result on the caller Activity using:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    
      switch (requestCode) {
        // Test for the code you have used to start the Activity
      }
    }
    

    Hope it helps, Regards

    0 讨论(0)
  • 2020-12-14 03:30

    The launch mode flag you want is clearTop. This will go back to the previous instance of the main activity and clear the second and third activity off the activity stack. For example, to do this from the code:

    Intent intent = new Intent(TerceraActiviry.this, Main.class));
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    
    0 讨论(0)
提交回复
热议问题