PendingIntent не открывает правильную активность, если приложение закрытоAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 PendingIntent не открывает правильную активность, если приложение закрыто

Сообщение Anonymous »

Когда я получаю уведомление FCM, я хочу открыть новое действие при нажатии на уведомление. Я всегда хочу, чтобы это было сверху, и я хочу, чтобы оно было автономным, чтобы, если приложение не открыто, оно не возвращалось в приложение после этого.
Я создал ожидающее намерение для этого, и если приложение открыто, оно правильно откроет действие, когда я нахожусь в приложении. Однако если приложение закрыто, вместо открытия действия в ожидающем намерении оно открывает основное действие средства запуска приложения.
У меня также есть другое уведомление, которое запускается по таймеру будильника. . Тревога срабатывает в широковещательном приемнике, который запускает приоритетную службу. Это уведомление работает должным образом и всегда открывает указанное действие.
Когда я копирую уведомление, вызванное службой FCM, в службу сигналов тревоги, оно также работает должным образом.Я не понимаю, почему это не работает, когда запускается FCM?
Это уведомление

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

    val contentIntent = PendingIntent.getActivity(
context,
0,
Intent(context, EventNotificationsActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK
},
PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_ONE_SHOT
)

val notification = NotificationCompat.Builder(context, notificationType.channelId)
.setSmallIcon(R.drawable.ic_notification_icon)
.setContentIntent(contentIntent)
.setContentTitle("title")
.setContentText("content")
.setAutoCancel(true)
Это манифест действий (аналогично, когда он работает для сигналов тревоги, но не для событий) Я также пробовал изменить манифест и уведомление в соответствии с документацией, но это все равно не работает, если приложение закрыто. Вместо этого он по-прежнему открывает действие средства запуска.
https://developer.android.com/develop/u ... navigation

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



val notifyIntent = Intent(this, ResultActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
}
val notifyPendingIntent = PendingIntent.getActivity(
this, 0, notifyIntent,
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)
Я не понимаю, почему я не могу заставить его вести себя так, как ожидалось. Я пробовал всевозможные комбинации флагов, но безуспешно.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -is-closed
Ответить

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

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

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

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

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