根据setFullScreenIntent
的Android文档:
启动而不是将通知发布到状态栏的意图。
现实:全屏Intent已启动...但通知也会发布到状态栏。
屏幕已锁定,因此用户未使用设备。
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商店的一些其他应用程序也有同样的问题,它们似乎使用了这样的通知(我不能确定,但它们至少在锁屏状态下显示为全屏)。
1条答案
按热度按时间soat7uwm1#
恕我直言,这是文档中的一些老错误。我从来没有仔细阅读过这个方法文档,但我的经验表明,全屏意图总是显示
Activity
附加到始终存在的通知。或者不会,那么新发布的通知将显示为抬头,例如,当用户在发布通知时使用解锁的设备文档还展示了此类功能的一些用例
仅用于需要用户立即注意的极高优先级通知,如来电或闹钟
正在考虑呼叫:用户未在GUI中进行任何触摸,而是仅按下主页。电话响铃,如何关闭/拒绝/返回管理
Activity
,而没有Notification
?此类Activity
不会保留在最近的历史记录(noHistory
)中,您甚至可能意外按下此主页按钮,您甚至不知道在哪个应用程序中查找声源imho这个通知也应该出现与启动
Activity
,就像它发生。它甚至是不可见的屏幕上,当用户开始使用您的 * 极高优先级 *Activity
。当工作完成,Activity
正在完成,那么Notification
也可能会消失,但是当用户不做任何决定时,选择某个选项仍然是至关重要-他需要快速选项以返回(即使意外地)"归位"/关闭Activity