FCM 通知未在奥利奥的后台调用



当用户未连接到xmpp时,我正在使用FCM通知进行聊天。

FCM 中有 2 种通知模式1. 通知消息2. 数据消息

我使用数据消息作为通知消息,如果我的应用程序从最近的应用程序中清除,则不会收到通知消息

此方法适用于除奥利奥以外的所有版本。

对于奥利奥,只有当应用程序未连接到 xmpp 并在前台时,我才会收到通知。我的 onMessageReceived 方法被调用。

但是,当该应用程序被杀死或仅针对奥利奥从最近的应用程序中删除时,情况不会发生。

编辑:我在一加3设备上尝试过。

任何帮助,不胜感激。

这可能为时已晚,但One Plus手机具有称为电池优化的功能。关闭应用的电池优化功能后,您将立即开始收到后台通知。我的One Plus 5T也有同样的问题。

从奥利奥开始,引入了通知通道的概念。查看此处。

在启动时创建频道:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    // Create the NotificationChannel
    CharSequence name = getString(R.string.channel_name);
    String description = getString(R.string.channel_description);
    int importance = NotificationManager.IMPORTANCE_DEFAULT;
    NotificationChannel mChannel = new NotificationChannel(CHANNEL_ID, name, importance);
    mChannel.setDescription(description);
    // Register the channel with the system; you can't change the importance
    // or other notification behaviors after this
    NotificationManager notificationManager = (NotificationManager) getSystemService(
            NOTIFICATION_SERVICE);
    notificationManager.createNotificationChannel(mChannel);
}

在清单中设置 ID:

<meta-data
        android:name="com.google.firebase.messaging.default_notification_channel_id"
        android:value="@string/notification_channel_id"/>

notification_channel_id与变量相同CHANNEL_ID

相关内容

  • 没有找到相关文章

最新更新