簡體   English   中英

setFullScreenIntent 仍然向狀態欄發布通知

[英]setFullScreenIntent still posting notification to the status bar

根據setFullScreenIntentAndroid 文檔

啟動而不是將通知發布到狀態欄的意圖。

現實:全屏意圖已啟動....但通知也會發布到狀態欄。

屏幕已鎖定,因此用戶未使用該設備。

    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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM