不积跬步无以至千里

一.前摘
系统来了一条通知,此时通知会有三种方式呈现:普通通知,悬浮通知,全屏通知。
普通通知:就会显示在通知栏中,只有通知栏显示的时候才会显示出来。
悬浮通知:会直接显示再屏幕的顶部中间通知View。
全屏通知:直接显示一个全屏的界面。
二.正文
我们就从代码逻辑中讲解吧。
代码路径如下:
/app/src/com/android/systemui/statusbar/NotificationEntryManager.java
1.新增通知
@Override
public void addNotification(StatusBarNotification notification,
NotificationListenerService.RankingMap ranking) {
try {
addNotificationInternal(notification, ranking);
} c
Android SystemUI:通知显示逻辑解析

本文探讨了Android SystemUI中通知的三种显示方式——普通通知、悬浮通知和全屏通知。通过分析代码路径`/app/src/com/android/systemui/statusbar/NotificationEntryManager.java`和`/app/src/com/android/systemui/statusbar/phone/StatusBar.java`,阐述了`shouldPeek`方法在判断通知类型中的关键作用。当`shouldPeek`返回true时,通知将作为悬浮通知显示,反之则可能为普通或全屏通知。此外,`addNotificationInternal`方法进一步确定了通知的具体类型。
订阅专栏 解锁全文
915

被折叠的 条评论
为什么被折叠?



