Я знаю, что этот вопрос кажется дублирующим, но для моего требования я искал много сообщений в Интернете, но для меня ничего не работало.Открыть конкретную активность/фрагмент после нажатия на уведомление Firebase, когда приложение закрыто
Мое требование
Я использую Firebase, чтобы получить уведомления толчка. Когда приложение было открыто, все работает нормально, но моя проблема заключается в том, что приложение находится в фоновом режиме/закрыто, если появилось какое-либо push-уведомление. Я хочу открыть конкретную активность или фрагмент при нажатии на это уведомление, но он всегда открывает запуск/основное действие.
Для этого я попытался следующие сценарии
Сценарий 1
Использовал bundle
для передачи данных уведомления от FirebaseMessagingService
на пусковую/Основной вид деятельности и на основе данных расслоении я перенаправляет к конкретной деятельности/фрагмент
Сценарий 2
С помощью Sharedpreference
Сценарий 3
Используя intent.putExtra
после вышеописанных сценариев все работает нормально, когда было открыто приложение, но если мое приложение было закрыто означает, что он всегда перенаправляет на главную/пусковой деятельности
Мой код
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("reqTo", messageBody);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(title)
.setContentText(messageBody)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
Итак, кто-нибудь знает, как открыть конкретное мероприятие/фрагмент, когда вы нажимаете уведомление Push-Firebase, когда приложение закрыто.
Пожалуйста, проверьте мой ответ.Если у вас все еще есть проблема, дайте мне ответ, я помогу вам –