是否可以为我的 LED 通知定义优先级,以便我的应用程序将替换由另一个应用程序设置的已经存在的 LED 通知? 例如,当收到电子邮件时,Gmail 客户端将设置白色闪烁 LED 通知,因此当我的应用程序尝试设置另一个通知(例如绿色持久通知)时,系统将忽略它,直到第一个通知消失。是否可以更改系统的行为以首先显示我的 LED 通知?我知道在 API 16 中引入了一个“优先级”标志,但看起来它并没有改变通知的顺序....
最佳答案
不,优先级不会影响 LED。也许应该,但今天 LED 遵循以下算法:
当收到通知 N1 想要设置 LED(使用 FLAG_SHOW_LIGHTS)时:
a) 如果没有其他 Activity 通知请求 LED,则 LED 将附加到 N1,直到 N1 被取消(或更新以移除其 LED 标志)。
b) 如果 LED 已被另一个通知使用,则 N1 转到灯光队列的前面 (!)。
当使用 LED 的通知被取消时,灯光队列前端的通知将获得 LED 的控制权,直到它被取消(或更新以移除其 LED 标志)。
<
所以它是后进先出的,但很粘(即,无论有 LED 灯,它都会一直保持到消失为止)。
关于android - Android 中应用程序之间的 LED 通知优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15780759/