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

uelo1irk  于 2023-04-10  发布在  Android
关注(0)|答案(1)|浏览(211)

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

5sxhfpxr

5sxhfpxr1#

我试图理解你的问题。根据问题的标题,答案是处理来自服务器或其他来源的消息(有效载荷)。将“silent”:“true”放入数据消息中,如以下示例:
{“data”:{“title”:“afruz”,“body”:“hello!",“silent”:“true”}“registration_ids”:[""] }
推送通知将调用onMessageReceived,而不会在顶部栏上显示任何消息。
如果您担心取消订阅fcm的主题,您可以尝试在应用程序onPaused而不是onDestroid中执行此操作。
希望我的回答能对你有所帮助。

相关问题