У меня Firebase
реализован на уровне приложения для получения push-сообщений.В проекте библиотеки у меня есть BroadcastReceiver
для перехвата push-сообщений.Я хочу создать уведомление из библиотеки, а не из приложения.
Включение приложения в состояние переднего плана, когда я создаю отложенное намерение, MainActivity контекст , доступный на уровне приложения передается в ожидающем намерении, после чего, если уведомление будет отправлено, я перенаправлюсь на MainActivity .Теперь, если приложение находится в отключенном состоянии и получено push-сообщение, мой широковещательный приемник в библиотеке перехватывает входящее сообщение, но не может создать уведомление, поскольку контекст MainActivity имеет значение null, поскольку MainActivity на уровне приложениянедоступно в трассировке стека.Кто-нибудь может помочь, как добиться этого?
Ниже мой код:
val mIntent = Intent(applicationContext,activityContext::class.java)
val pendingIntent = PendingIntent.getActivity(applicationContext, System.currentTimeMillis().toInt(),
mIntent,PendingIntent.FLAG_UPDATE_CURRENT)
, где activityContext в Intent
является контекстом MainActivity получено внутри проекта библиотеки с уровня приложения.
Когда приложение находится в состоянии переднего плана , activityContext доступно и генерируется уведомление.Но когда приложение находится в состоянии kill , activityContext остается нулевым, что приводит к сбою при создании уведомления.