Firebase在从应用程序禁用通知时发送通知。如何处理?

时间:2017-01-13 08:06:00

标签: android firebase push-notification firebase-cloud-messaging

我在Android应用中使用Firebase进行推送通知。但它是在应用程序处于后台时发送通知。

我该如何处理它,以便Firebase在应用内部禁用通知时不会发送通知?

1 个答案:

答案 0 :(得分:1)

每当您使用通知有效负载时,您的应用都会始终在后台显示通知。因此,您可能只想使用data-payload,如果从控制台发送消息,则无法实现。因此,您需要拥有自己的Web服务器,只将数据有效负载密钥发送到fcm服务器。执行此操作后,您需要检查应用程序是处于前台还是后台,因为如果您单独使用数据有效负载,则onMessageReceived()将始终触发。以下是link,告诉您如何检查您的应用是在前景还是背景中。

以下是有关您问题的部分答案。如果您在sharePereference或dataBase中存储指示用户禁用通知的数据,则需要获取该值并将其放入onMessageReceived()

中的if语句中
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    if(appIsNotInForeGround){ //you will not want to show a notification if your app is running.
        if(!isMuteNotificaition){ // Check wether your user mute the app
            sendNotification(); //your custom notification builder.
        }
    }
}

参考我刚刚向您展示的appIsNotInForeGround链接。