我希望能夠偵聽發送到狀態欄的通知,並攔截(暫時)攔截這些通知。我看過AccessabilityEvent。 TYPE_NOTIFICATION_STATE_CHANGED和NotificationListenerService。是否可以在Android中禁止通知?
但是,我只是不希望被通知何時顯示通知,我想阻止通知顯示。
我可以看到這可能是一個安全威脅,所以我可以理解,如果這是不可能的。這可能嗎?如果是這樣,我該如何去做呢?
我希望能夠偵聽發送到狀態欄的通知,並攔截(暫時)攔截這些通知。我看過AccessabilityEvent。 TYPE_NOTIFICATION_STATE_CHANGED和NotificationListenerService。是否可以在Android中禁止通知?
但是,我只是不希望被通知何時顯示通知,我想阻止通知顯示。
我可以看到這可能是一個安全威脅,所以我可以理解,如果這是不可能的。這可能嗎?如果是這樣,我該如何去做呢?
我認爲你和NotificationListenerService在正確的軌道上。 Google已經將這些API從Android 4.3開始提供,因此使用這種方法的應用程序只能用於新設備。
在下面的博文,你可以找到你可以用NotificationListenerService做一個例子:http://weimenglee.blogspot.ch/2014/03/android-tip-notification-listener.html
的基本思路是實現onNotificationPosted()
方法,它給你一個StatusBarNotification
實例。然後,您應該可以取消通知this.cancelNotification( notif.getPackageName(), notif.getTag(), notif.getId());
請參閱博文,瞭解要擴展的內容以及如何實施這些方法的進一步說明。
希望這會有所幫助。
如果我取消通知,我可以稍後重新提交嗎?它會顯示在狀態欄中,然後消失,或根本不顯示? – Tester101
我從來沒有嘗試過,但我認爲它應該是可能的。這將取決於您的應用程序構建通知,但您可以將StatusBarNotification對象中的所有重要數據(意圖,內容等)存儲起來供以後使用。 – Chnoch