0

我正在使用FCM,並根據文檔「通知傳遞到設備的系統托盤」。那麼當通知消息被用戶解散時,如何附加掛起的意圖或註冊廣播/回叫?如何在用戶解散fcm通知消息時獲得廣播或回撥?

有沒有辦法做到這一點?或者我必須使用數據消息並手動建立通知,並且在通知被解除的情況下等待接收廣播的意圖?

編輯 - 解決方案

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; 
    } 
} 

上述作品之一。我以前沒有覆蓋導致問題的onBind和OnUnbind。 如果未授予,請求用戶授予通知訪問權限,此鏈接將有所幫助。 Check if user has granted NotificationListener access to my app

回答

1

你應該與onNotificationRemoved(StatusBarNotification SBN)去

這將讓你在用戶已刪除的通知或者Andorid的系統已經撤回該通知的情況下追上。

+0

嗨,你有沒有用FCM通知消息NotificationListenerService? – Debanjan

+0

是的,請查看此鏈接瞭解更多詳情,https://developer.android.com/reference/android/service/notification/NotificationListenerService.html –

+0

我已經嘗試過了,但是當fcm通知被解僱時我沒有收到通知或onNotificationPosted。我們是否必須使用startService()手動啓動服務,否則意圖會執行此操作? 我已經完成了鏈接。 還有一件事,當我去設置 - >安全 - >通知訪問, 它沒有顯示我的應用程序,而是顯示 「沒有應用程序在此設備上能夠讀取通知」 – Debanjan