android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的.

 android N上收到未接来电,没有LED灯闪烁提示,在M上是ok

1)原因

未接来电的通知创建函数是updateMissedCallNotificaion,它的builder没有设置Priority

android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的.

它设置的LED闪灯flag如下:

android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的.

googleN上新增了importance的概念,在notificationRecorddefaultImportance函数,会把priority赋值给importance,但有一个重点是,如果notification没有设置soundvibrate,就会把importance重置为low 

android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的.

由此可知,未接来电的notification importance肯定为low .那它的影响在决定是否闪灯时buzzBeepBlinkLocked,无法满足abvoeThreshold的条件为true,导致无法调用updateLightsLocked()函数闪灯.

android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的.


2)解法

      修改defaultImportance函数,增加LED的判断,使LEDnotification importance不被重置为low,同时priority可以设置为high max 

android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的.

android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的.