我用fcm subscribed to topic做了一个android应用。
下面是我在FirebaseMessagingService
中的一部分代码。
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
mApplication = (ApplicationAVL)getApplication();
Log.d("FCM received === ", "ok");
cancelNotification();
ApplicationAVL mApplication = (ApplicationAVL) getApplication();
checkPollingService = isMyServiceRunning(AVLPollingService.class);
if(!mApplication.isPollingNow() || !checkPollingService){
EventBus.getDefault().post(new FcmToPollingEvent());
}
}
有没有通知代码,但通知消息总是显示关闭应用程序后也.
cancelNotification()
是一种删除通知的方法,我尝试过,但它不起作用。
public void cancelNotification(){ String ns = NOTIFICATION_SERVICE; NotificationManager nMgr = (NotificationManager)getSystemService(ns); nMgr.cancelAll(); }
UnsubscribeToTopic onDestory
,但它也不起作用。
如何禁用FCM通知?
1条答案
按热度按时间5sxhfpxr1#
我试图理解你的问题。根据问题的标题,答案是处理来自服务器或其他来源的消息(有效载荷)。将“silent”:“true”放入数据消息中,如以下示例:
{“data”:{“title”:“afruz”,“body”:“hello!",“silent”:“true”}“registration_ids”:[""] }
推送通知将调用onMessageReceived,而不会在顶部栏上显示任何消息。
如果您担心取消订阅fcm的主题,您可以尝试在应用程序onPaused而不是onDestroid中执行此操作。
希望我的回答能对你有所帮助。