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

У меня есть приложение с несколькими видами деятельности. На одном из них я установил будильник. Я нажимаю кнопку 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 в зависимости от вашего варианта использования. Вам нужно будет прочитать документацию, чтобы определить, какой из них будет работать для вас.

Другие вопросы по тегам