我正在構建一個替代通知抽屜並在其自己的窗口中顯示通知的Android應用程序。我通過覆蓋onNotificationPosted()
方法設法在抽屜中顯示通知。但是,android也會顯示相同的通知。所以,我希望通知應該只顯示在我的窗口上,還有其他應用程序已經完成了它,所以這不是不可能的。請告訴我如何覆蓋android的默認行爲。提前致謝。 :)如何停止通過Android代碼發佈單挑通知?
編輯
我要的是禁用擡頭通知。任何解決方案?
我正在構建一個替代通知抽屜並在其自己的窗口中顯示通知的Android應用程序。我通過覆蓋onNotificationPosted()
方法設法在抽屜中顯示通知。但是,android也會顯示相同的通知。所以,我希望通知應該只顯示在我的窗口上,還有其他應用程序已經完成了它,所以這不是不可能的。請告訴我如何覆蓋android的默認行爲。提前致謝。 :)如何停止通過Android代碼發佈單挑通知?
編輯
我要的是禁用擡頭通知。任何解決方案?
唉!看起來像Android沒有辦法通過代碼禁用其他應用程序的頭像通知。
這是一個小黑客!
所以,我們需要的是,不顯示任何其他應用程序的任何單挑通知。爲了解決這個問題,我們需要了解,一次只能在屏幕上顯示一個提醒通知。
黑客是在收聽任何通知後立即發送您自己的通知,即NotificationListener
子類的onNotificationPosted()
。
this.mNotificationManager.notify(12321, new Notification.Builder(this)
.setContentTitle("").setContentText("")
.setSmallIcon(R.drawable.transparent)
.setPriority(Notification.PRIORITY_DEFAULT)
.setFullScreenIntent(this.mBlankIntent, true)
.setAutoCancel(true)
.build());
它會用幾乎空白的通知來替換第三方應用程序的通知。哦,哇!等待!!這看起來很醜。
Ofcourse,現在我們需要刪除這個通知之前,用戶甚至可以看到這一點。
現在你知道android的包名。你可以顯示取消你的通知這樣的事情。
if(packageName.equals("com.my.package")){
mNotificationManager.cancel(12321);
return;
}
所以,我們正在做的是顯示我們的通知,當任何其他擡頭通知顯示,然後刪除我們自己的通知。所有這些都發生得很快,以至於用戶看不到任何擡頭通知,爲此,我甚至不需要將通知存儲在內存中。
,因此您會顯示擡頭通知或者通知,然後離開?還是有0幀,他們實際上顯示了? –
是的,當他們真的出現時,有0幀,但你必須記住,應該只對通知進行擡頭,否則你可能會發送你自己的每一個通知,你收到。 還有一件事,看起來像這種黑客不適用於棉花糖。所以,如果你找到了一些東西,讓我知道。 –
爲我的應用程序的目的,我只是要求通知訪問棒棒糖,並要求請勿打擾訪問棉花糖而不是 –
哪些其他應用可以做到這一點?你的應用程序的目標是完全替換通知抽屜? (對於所有應用程序?) –
@FlorianBarth [雪球](https://play.google.com/store/apps/details?id=com.snowball.app&hl=en)可以做到這一點。 –
到目前爲止您嘗試過什麼?像這樣的問題需要你發佈你的攔截器類,以及清單 – Bonatti