在图书馆项目中从Firebase收到的构建通知

时间:2019-02-04 07:11:33

标签: android firebase kotlin android-pendingintent android-push-notification

我在应用程序级别实现了Firebase来接收推送消息。在图书馆项目中,我有一个BroadcastReceiver来拦截推送消息。我想从库而不是从应用程序构建通知。
如果应用程序处于前台状态,则在我创建待定意图时,将在待定意图中传递 MainActivity 上下文在应用程序级别可用,在该意图上轻按通知,我被重定向到 MainActivity 。现在,如果应用程序处于终止状态并接收到推送消息,则我在库中的广播接收器会拦截传入的消息,但由于MainActivity上下文在应用程序级别为 MainActivity ,因此无法创建通知在堆栈跟踪中不可用。谁能协助实现这一目标?

下面是我的代码:

val mIntent = Intent(applicationContext,activityContext::class.java)
val pendingIntent = PendingIntent.getActivity(applicationContext, System.currentTimeMillis().toInt(),
mIntent,PendingIntent.FLAG_UPDATE_CURRENT)

其中,Intent中的 activityContext 是在库项目中从应用程序级别接收的 MainActivity 的上下文。

当应用程序处于前景状态时, activityContext 可用并且会生成通知。但是,当应用程序处于 killed状态时, activityContext 仍然为空,导致构建通知失败。

1 个答案:

答案 0 :(得分:0)

您不需要Activity的{​​{1}},因为如果该应用未运行,则该应用不存在。

您应该让该应用将Context名称传递给库(即:完全限定的类名)。然后,库可以使用MainActivity名称MainActivity中设置组件参数。

这不是这个意思:

Intent

您想执行以下操作(抱歉,我的Kotlin语法可能有误):

val mIntent = Intent(applicationContext,activityContext::class.java)