Намерение со старым дополнением в onCreate () для SingleTask Activity

Например, я создал проект с двумя действиями: FirstActivity с android: launchMode = "singleTask" и SecondActivity.

Сначала пользователь запускает FirstActivity, а после этого SecondActivity запускается по нажатию кнопки. Из SecondActivity мы создаем уведомление в строке состояния.

Intent intent = new Intent(SecondActivity.this, FirstActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(FirstActivity.ARG, true);

NotificationCompat.Builder builder = new      NotificationCompat.Builder(SecondActivity.this);
builder.setSmallIcon(R.drawable.ic_launcher)
   .setAutoCancel(true)
   .setContentTitle("title")
   .setContentText("message");

PendingIntent notifyIntent = PendingIntent.getActivity(SecondActivity.this, 0,     intent,PendingIntent.FLAG_CANCEL_CURRENT);
builder.setContentIntent(notifyIntent);

NotificationManager notificationManager = (NotificationManager)   getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1000, builder.build());

Когда я нажал на это уведомление, и мое приложение теперь запущено, будет запущен метод FirstActivity # onNewIntent, а намерение содержит ARG extra = true. Это нормальная ситуация.

Когда я нажал на это уведомление, и мое приложение НЕ работает сейчас, метод FirstActivity # onNewIntent НЕ будет выполнен, но вместо этого будет выполняться FirstActivity # onCreate (), и я могу получить свой флаг ARG, напримерgetIntent().getBooleanExtra(ARG, false) Это намерение содержит ARG extra = true. Это тоже правильная ситуация.

Но когда я пытаюсь выйти из приложения после ситуации 2, нажав кнопку «Назад», и снова запустить приложение, я получил в FirstActivity # onCreate () намерение с ARG = true (старое дополнительное значение, которое я обработал). Почему мой флаг "true" после повторного открытия приложения?

Ответы на вопрос(1)

Ваш ответ на вопрос