0

我使用订阅主题的 fcm 制作了一个 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通知?

请帮我...

4

1 回答 1

0

我试图理解你的问题。根据问题的标题,答案是处理来自服务器或其他来源的消息(有效负载)。将 "silent":"true" 放入数据消息中,如下例所示:

{“数据”:{“标题”:“afruz”,“正文”:“你好!”,“静音”:“真”}“注册ID”:[“”]}

推送通知将调用 onMessageReceived,而顶部栏不显示任何消息。

如果您担心从 fcm 退订主题,您可以尝试在应用程序 onPaused 而不是 onDestroid 中进行。

希望我的回答对你有所帮助。

于 2018-08-30T17:05:10.730 回答