为什么第一次调用的活动没有运行?

时间:2017-04-19 01:27:08

标签: android activity-lifecycle

Excute code
Intent intent = getFirstIntent(context);
context.startActivity(intent);
intent = getSecondIntent(context);
context.startActivity(intent);

private void Intent getFirstIntent(Context context){
  Intent intent = new Intent(context, FirstActivity.class);
  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  return intent;
}

private void Intent getSecondIntent(Context context){
  Intent intent = new Intent(context, SecondActivity.class);
  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  return intent;
}

我添加了日志活动生命周期(onCreate,onDestroy)

在Log下面

SecondActivity onCreate>后退键> onDestroy> FirstActivity onCreate>后退键> onDestory

但我期待这个过程

FirstActivity onCreate> SecondActivity> onCreate>后退键> onDestory> FirstActivity(onResume)>后退键> onDestory

为什么先打电话给SecondActivity-onCreate?我想打电话给FirstActivity-onCreate

1 个答案:

答案 0 :(得分:0)

因为你期望 -

  

FirstActivity onCreate> SecondActivity> onCreate>后退键>   onDestory> FirstActivity(onResume)>后退键> onDestory

您不应使用任何Intent.FLAGS

您期望的行为是Activity的Android默认行为。

Read here了解有关Intent Flags的更多信息。