Android: почему onNewIntent() не вызывается при нажатии уведомления при использовании режима запуска SingleInstanceAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android: почему onNewIntent() не вызывается при нажатии уведомления при использовании режима запуска SingleInstance

Сообщение Anonymous »

У меня есть приложение для Android, в котором я хочу показывать уведомление, когда приложение работает в фоновом режиме.
Связанное действие объявляется в манифесте с помощью: Когда я нажимаю на уведомление, вызывается функция onResume() моей активности, что имеет смысл —
но onNewIntent() никогда не запускается, даже несмотря на то, что PendingIntent уведомления несет дополнительные данные.
Вот как я создаю PendingIntent для уведомления:

Код: Выделить всё

private fun getPendingAtsFragment(squadId: Int): PendingIntent {
val intent = Intent(this, MyActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
putExtra("CLICKED_ID", squadId)
}

return PendingIntent.getActivity(
this,
squadId,
intent,
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)
Я ожидаю, что когда я нажму на уведомление, существующий экземпляр MyActivity (поскольку он SingleInstance)
получит намерение через onNewIntent(), чтобы я мог прочитать дополнительный CLICKED_ID.
Но вместо этого вызывается только onResume() без дополнительного «CLICKED_ID», и намерение теряется.
Что мне нужно изменить, чтобы вызывался метод onNewIntent() и я мог получать данные при нажатии на уведомление?
Нужно ли мне менять режим запуска или флаги намерений?>

Подробнее здесь: https://stackoverflow.com/questions/798 ... -using-sin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»