Android-如何以编程方式禁用顶部栏上的fcm通知消息?

时间:2018-08-30 16:41:38

标签: android push-notification notifications disable

我使用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通知?

请帮助我...

1 个答案:

答案 0 :(得分:0)

我正试图了解您的问题。根据问题的标题,答案是使用来自服务器或其他来源的消息(有效负载)。如下例所示,在数据消息中添加“ silent”:“ true”:

{     “数据”:{       “ title”:“ afruz”,         “ body”:“你好!”,         “ silent”:“ true”      }     “ registration_ids”:[“”] }

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

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

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