У меня есть следующий сценарий, который я пытаюсь исправить:
- Приложение состоит из двух действий: Activity_A и Activity_B.
- В настоящее время пользователь находится в Activity_B
- Получено уведомление, которое приводит к Activity_A
ОДНАКО При нажатии клавиши «Назад» выход из приложения выглядит следующим образом: Activity_A (из уведомления) -> Activity_B-> Activity_A-> Приложение закрывается.
Чего я хотел бы добиться, так это того, что после нажатия на уведомление Activity_B завершится, а Activity_A из той же задачи будет представлено пользователю.
Я прошел множество ответов и вопросов, которые почти описывают один и тот же сценарий, и все попытки реализации ответов не решили мою проблему.
одна вещь, которая дала мне то, что я хотел, заключалась в том, что я установил в своем основном действии android:launchMode="singleInstance"
, но тогда каждый вызов действия выглядит так, как будто было запущено новое приложение.
Ниже вы можете найти код:
final Intent notificationIntent = new Intent(getApplicationContext(), MyDevices.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
final PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, notificationIntent,0);
final Notification notification = new Notification.Builder(
getApplicationContext())
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(mNotificationTitle)
.setOngoing(false)
.setContentText(mNotificationMessage)
.setContentIntent(pendingIntent)
.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL).build();
notificationManager.notify(1,notification);