Android - как я могу отключить уведомление fcm на верхней панели программно? - PullRequest
0 голосов
/ 30 августа 2018

Я сделал приложение для Android, используя fcm, подписанный на тему.

А вот часть моего кода в 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 голосов
/ 30 августа 2018

Я пытаюсь понять твой вопрос. Основываясь на названии вопроса, ответ должен работать с сообщением (полезной нагрузкой), которое приходит с сервера или другого источника. Поместите «silent»: «true» в сообщение данных, как показано в следующем примере:

{ "данные": { "title": "afruz", "тело": "привет!", «Молчание»: «правда» } "registration_ids": [""] }

Push-уведомление будет вызывать onMessageReceived без каких-либо сообщений, отображаемых на верхней панели.

Если вы беспокоитесь о том, чтобы отписаться от темы из fcm, вы можете попробовать сделать это в приложении «Приостановлено» вместо «Отключить Android».

Надеюсь, мой ответ будет вам полезен.

...