У меня есть требование ниже.
Я хочу создать уведомление.
При нажатии на уведомление приложение должно открыться и перейти к определенному фрагменту на основе данных, полученных от дополнительных намерений.
Мне нужно обработать это независимо от того, находится ли приложение в закрытом состоянии или на переднем плане.
У меня в манифесте установлен режим запуска SingleTop.
СЦЕНАРИЙ ИСКЛЮЧЕННОГО СОСТОЯНИЯ ПРИЛОЖЕНИЯ:
Он работает хорошо, если приложение находится в выключенном состоянии, оно вызывает метод onCreate(), и у меня также есть логика обработки экрана.
Но после этого onNewIntent() вызывается несколько раз
ПЕРЕДНИЙ СЦЕНАРИЙ ПРИЛОЖЕНИЯ:
Если приложение находится в состоянии переднего плана, то вызывается метод onNewIntent(), но без дополнительных данных о намерениях.
Найдите код ниже.
Чтобы создать уведомление,
Код: Выделить всё
notificationIntent.flags = (Intent.FLAG_ACTIVITY_CLEAR_TOP
or Intent.FLAG_ACTIVITY_SINGLE_TOP)
notificationIntent.putExtra(Constants.MEDICATION_EXTRA, titleText)
contentIntent = PendingIntent.getActivity(
context, 0,
notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)
val id = notificationHelper.postNotification(
notificationHelper.createNotification(
contentText = contentText,
contentIntent = contentIntent,
autoCancel = true,
title = titleText,
)
)
Источник: https://stackoverflow.com/questions/781 ... iple-times
Мобильная версия