SystemUI的通知栏通知的排序

不积跬步无以至千里

       最近被提了一个关于通知栏上通知排序的bug,之前就想过我们的通知栏上的顺序是在哪进行排序的?其实为什么呢?因为浸提那应用的同事提了一个设置Setpriority(int value)的方法,结果设置优先级较大了,还是没有排到通知队列的前边,很纳闷,今天就看一下咋回事。

      其实通知由NotificationManager创建,然后通过IPC传到了NotificationManagerService里面,如图

NotificationManager.java的notify方法

SystemUI的通知栏通知的排序_第1张图片

其中核心实现是在调用notifyAsUser方法中,如下图:

SystemUI的通知栏通知的排序_第2张图片

如图可知,其中的调用的就是NotificationManagerService中的enqueueNotificationWithTag方法。

其中创建的逻辑咱们就不深究了,咱们看一下关于frameworks/base/services/core/java/com/android/server/notification/Notific

你可能感兴趣的:(通知栏,SystemUI的爱恨情仇)