android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的.
android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的.
(1)原因
未接来电的通知创建函数是updateMissedCallNotificaion,它的builder没有设置Priority:
它设置的LED闪灯flag如下:
但google在N上新增了importance的概念,在notificationRecord的defaultImportance函数,会把priority赋值给importance,但有一个重点是,如果notification没有设置sound和vibrate,就会把importance重置为low !
由此可知,未接来电的notification importance肯定为low .那它的影响在决定是否闪灯时buzzBeepBlinkLocked,无法满足abvoeThreshold的条件为true,导致无法调用updateLightsLocked()函数闪灯.
(2)解法
修改defaultImportance函数,增加LED的判断,使LED的notification importance不被重置为low,同时priority可以设置为high 或max