Активность начинается с уведомления, открытого поверх стека действий

У меня есть приложение с несколькими действиями. На одном из них я поставил тревогу. Я нажимаю кнопку HOME. При срабатывании будильника появляется уведомление. При нажатии на уведомление я запускаю диалоговое действие (@android: style/Theme.Dialog). Хотя я нахожусь на рабочем столе, Android открывает мое последнее действие, а затем показывает мою активность, подобную диалогу. Я просто хочу показать свой диалог, где бы он ни находился.

Есть ли у кого-нибудь представление о том, что не так?

Intent notificationIntent = new Intent(this, NotificationActivity.class);
notificationIntent.putExtra(Constants.EXTRA_ALERT_MESSAGE, contentText);
PendingIntent contentIntent = PendingIntent.getActivity(this, Constants.PENDING_INTENT_REQ_DIALOG, notificationIntent, 0);
no.contentIntent = contentIntent;

Ответ 1

Вероятно, вы хотите установить android:taskAffinity и android:launchMode="singleTask" в вашем файле манифеста для активности вашего диалога. Установка taskAffinity приведет к тому, что Activity запускается в отдельной задаче со своим собственным стеком. singleTask может быть или не быть полностью подходящим для вашего приложения, но вы, вероятно, захотите либо его, либо singleInstance в зависимости от вашего варианта использования. Вам нужно будет прочитать документацию, чтобы определить, какой из них будет работать для вас.