在android中的onResume中获取通知的标题和消息

时间:2017-02-02 18:47:56

标签: android firebase notifications android-notifications firebase-cloud-messaging

我正在尝试在Android中使用通知并且遇到了另一个障碍。

在我的清单中我有

<service android:name=".service.MyFirebaseMessagingService">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>
<service android:name=".service.MyFirebaseInstanceIDService">
    <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
    </intent-filter>
</service>

在service.MyFirebaseMessagingService我有

public void onMessageReceived(RemoteMessage remoteMessage) {
    // handle the notification, snip
}

当应用程序运行时,到目前为止一切正常 - 通知由MyFirebaseMessagingService接收。

问题#1 我希望在每个活动上处理通知 - 我的意思是我基​​本上需要在每个活动上使用广播接收器。但是,95%的活动将以相同的方式处理通知(将其存储在共享首选项中),但有5%的活动需要做一些不同的事情。如何解决这个问题?

问题#2: 如果应用程序在我收到通知时未打开,则会进入系统托盘,当我点击它时,启动/启动器活动会打开,但我希望它能够进行其他活动。

所以我在启动/启动器活动中覆盖onResume,如此

protected void onResume() {
    super.onResume();

    Bundle resumingBundle = getIntent().getExtras();
    if(resumingBundle != null)
    {
        Log.d("DEBUG", resumingBundle.getString("message")); // error here
    }

}

错误是

java.lang.RuntimeException: Unable to resume activity {com.werdna.apps.testreceivingnotifs/com.andrewb.testnotifapp.StartingActivity}: java.lang.NullPointerException: println needs a message.

如何从意图中访问通知的标题和正文?

0 个答案:

没有答案