[英]setFullScreenIntent still posting notification to the status bar
根據setFullScreenIntent
的Android 文檔:
啟動而不是將通知發布到狀態欄的意圖。
現實:全屏意圖已啟動....但通知也會發布到狀態欄。
屏幕已鎖定,因此用戶未使用該設備。
val builder = NotificationCompat.Builder(this, CHANNEL_ID)
.setSmallIcon(android.R.drawable.ic_lock_idle_alarm)
.setContentTitle(timer.title)
.setContentText("Description!")
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setCategory(NotificationCompat.CATEGORY_REMINDER)
.setFullScreenIntent(pendingIntent, true) // tried with false too.
根據文檔,為什么這不起作用的任何想法?
我知道我可以在通知出現后刪除它,但文檔清楚地提到它不應該出現。 這在真實設備 (Android 11) 和模擬器 (Android 12) 上都是可重現的。
我還注意到 Play 商店中的其他一些應用程序也有同樣的問題。 他們似乎使用了這樣的通知(我不能確定,但它們至少以全屏顯示在鎖屏上)。
恕我直言,這是文檔中的一些老錯誤。 我從來沒有如此仔細地閱讀過這個方法文檔,但我的經驗表明全屏意圖是/總是顯示Activity
ADDITIONALLY to always-present notification。 或不會,然后新發布的通知將顯示為heads up ,例如,當用戶在通知發布時使用未鎖定的設備
文檔還顯示了此類功能的一些用例
僅用於要求用戶立即注意的極高優先級通知,例如來電或鬧鍾
考慮調用:用戶沒有在 GUI 中進行任何操作,而只是按下了主頁。 電話響了,如何在沒有Notification
的情況下關閉/拒絕/返回管理Activity
? 這樣的Activity
不會保留在最近的歷史記錄中( noHistory
),你甚至可能不小心按下了這個主頁按鈕,你甚至不知道在哪個應用程序中尋找聲源
恕我直言,這個通知也應該與啟動的Activity
一起出現,就像它發生一樣。 當用戶開始使用您的極高優先級Activity
時,它甚至在屏幕上不可見。 當工作完成並且Activity
完成時, Notification
也可能會消失,但是當用戶不會做出任何決定時,選擇一些選項仍然是至關重要的——他需要一個快速的選項來返回(甚至是意外地)“homed”/關閉Activity
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.