0

Je travaille avec FCM, et selon la documentation, "la notification est envoyée à la barre d'état système de l'appareil". Alors, comment joindre une intention en attente ou enregistrer une diffusion/rappel lorsqu'un message de notification est rejeté par l'utilisateur?Comment recevoir une diffusion ou un rappel lorsqu'un message de notification fcm est rejeté par l'utilisateur?

Y at-il un moyen de le faire? Ou dois-je utiliser des messages de données et créer une notification manuellement avec l'intention en attente de recevoir une diffusion si la notification est rejetée?

EDIT - Solution

public class NotificationListener extends NotificationListenerService { 
    private boolean isSafeToExecute, isNotificationAccessEnabled; 



    @Override 
    public void onNotificationPosted(StatusBarNotification sbn) { 
      super.onNotificationPosted(sbn); 
    } 

    @Override 
    public void onNotificationRemoved(StatusBarNotification sbn) { 
      Log.e("removed", sbn.getNotification().getClass().getSimpleName()); 
    } 

    @Override 
    public void onListenerConnected() { 
     super.onListenerConnected(); 
     isSafeToExecute = true; 
    } 

    @Override 
    public void onListenerDisconnected() { 
     super.onListenerDisconnected(); 
     isSafeToExecute = false; 
    } 
    @Override 
    public IBinder onBind(Intent mIntent) { 
     IBinder mIBinder = super.onBind(mIntent); 
     isNotificationAccessEnabled = true; 
     return mIBinder; 
    } 

    @Override 
    public boolean onUnbind(Intent mIntent) { 
     boolean mOnUnbind = super.onUnbind(mIntent); 
     isNotificationAccessEnabled = false; 
     return mOnUnbind; 
    } 
} 

qui précède celui-ci fonctionne. Je n'ai pas précédemment surchargé onBind et OnUnbind qui a causé le problème. Demander à l'utilisateur d'accorder l'accès à la notification s'il n'est pas accordé, ce lien aiderait. Check if user has granted NotificationListener access to my app

Répondre

1

Vous devriez aller avec le onNotificationRemoved (StatusBarNotification SBN)

Cela vous permettra de rattraper dans les cas où l'utilisateur a supprimé la notification ou le système andorid a retiré la notification.

+0

Bonjour, avez-vous utilisé NotificationListenerService avec des messages de notification FCM? – Debanjan

+0

Oui, vérifiez ce lien pour plus de détails, https://developer.android.com/reference/android/service/notification/NotificationListenerService.html –

+0

Je l'ai essayé, mais je ne reçois pas de notification lorsque la notification fcm est rejetée ou onNotificationPosted. Devons-nous démarrer le service manuellement en utilisant startService() ou l'intention le fera? J'ai fait exactement comme le lien. Une chose de plus, quand je vais dans Paramètres-> Sécurité-> Accès à la notification, Il ne montre pas mon application, à la place, il montre "Aucune application sur cet appareil sont capables de lire les notifications" – Debanjan