1

是否可以为我的 LED 通知定义优先级,以便我的应用程序将替换已存在的由另一个应用程序设置的 LED 通知?例如,当收到电子邮件时,Gmail 客户端将设置白色闪烁 LED 通知,因此当我的应用程序尝试设置另一个通知时,例如绿色持续,系统会忽略它,直到第一个消失。是否可以更改系统的行为以首先显示我的 LED 通知?我知道在 API 16 中引入了一个“优先级”标志,但看起来它并没有改变通知的顺序......

4

1 回答 1

5

不,优先级不会影响 LED。也许应该,但今天 LED 遵循这个算法:

  1. 当通知 N1 进来想要设置 LED 时(使用 FLAG_SHOW_LIGHTS):

    a) 如果没有其他活动通知请求 LED,则 LED 连接到 N1,直到 N1 被取消(或更新以删除其 LED 标志)。

    b) 如果 LED 已被另一个通知使用,则 N1 转到灯队列的前面(!)。

  2. 当使用 LED 的通知被取消时,灯队列前面的通知将获得对 LED 的控制权,直到它被取消(或更新以删除其 LED 标志)。

所以它是后进先出的,但具有粘性(即任何有 LED 的东西都会保持它直到它消失)。

于 2013-04-04T14:19:31.090 回答