Назад к вопросам
Junior — Middle
76
Каким образом реализовать переход к конкретному экрану в приложении при получении push-уведомления?
Ответ от нейросети
sobes.tech AI
Для реализации перехода к конкретному экрану при получении push-уведомления в Android обычно используют Intent с нужными параметрами. Когда приходит уведомление, в обработчике (например, в FirebaseMessagingService) создают PendingIntent, который открывает нужную Activity с дополнительными данными, указывающими, какой экран показать.
Пример:
val intent = Intent(this, TargetActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
putExtra("screen", "details") // передаем параметр для выбора экрана
}
val pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
val notification = NotificationCompat.Builder(this, CHANNEL_ID)
.setContentTitle("Новое уведомление")
.setContentText("Нажмите, чтобы открыть детали")
.setContentIntent(pendingIntent)
.setAutoCancel(true)
.build()
// показываем уведомление
NotificationManagerCompat.from(this).notify(NOTIFICATION_ID, notification)
В TargetActivity в методе onCreate можно прочитать параметр и открыть нужный фрагмент или экран.