Sobes.tech
Back to questions
Junior — Middle
77

Каким образом реализовать переход к конкретному экрану в приложении при получении push-уведомления?

Answer from AI

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 можно прочитать параметр и открыть нужный фрагмент или экран.