我的应用正在运行时,我无法收到推送通知;如果我的应用已关闭,我会收到通知

时间:2019-04-17 12:50:39

标签: android firebase push-notification

我正在使用Firebase处理推送通知。我可以收到通知 当我的应用关闭或在后台但我没有收到通知时 当我的应用程序运行时,请帮助我,以便即使我的应用程序正在运行时也能收到通知

  @Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    shownotifeaction(remoteMessage.getNotification().getBody());
}

public void shownotifeaction(String message) {
    PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, Splash_Img.class), 0);
    Notification notification = new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.ic_stat_name)
            .setContentTitle("Porwal")
            .setContentText(message)
            .setContentIntent(pi)
            .setAutoCancel(true)
            .build();


    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    notificationManager.notify(0, notification);
}

}

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

    <meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/ic_stat_name" />
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_color"
        android:resource="@color/colorAccent" />

1 个答案:

答案 0 :(得分:0)

我建议您从服务器尝试这种形式的json:

{ 
"data": 
{ 
"title":"FCM Message", "Body":"This is an FCM Message" }, 
"to" : "devicetoken"
} 

说明:

通知-仅在您的应用程序处于后台/已终止状态时才直接发送到Android通知栏的消息,或者如果您的应用程序在前景中时则传递到onMessageReceived()方法的消息。

数据有效载荷-无论您的应用程序是在前台,后台还是被杀死,这些消息始终会传递到onMessageReceived()方法中。