视图

通知图标显示分析:

如上所述,所有的通知信息保存在了自定义view NotificationStackScrollLayout中,每个通知又被封装进了ExpandableNotificationRow中,其中主要保存信息内容的对象又是NotificationContentView,所以后续分析会涉及到这三个自定义view。

在SystemUI进程中对notification的处理流程如下:

源码分析

NotificationManagerService  :  PostNotificationRunnable

关键信息类

2. 获取NotificationChannel,如果为空提前结束通知的发送。

3. 创建StatusBarNotification,用于封装通知信息。

4. 创建NotificationRecord对象,封装了StatusBarNotification和一些其他的信息。

对应位置

  • frameworks/base/core/java/android/app/Notification.java
  • frameworks/base/core/java/android/app/NotificationManager.java
  • frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java
  • frameworks/base/core/java/android/service/notification/NotificationListenerService.java
  • frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/NotificationListener.java
  • frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
  • frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinderImpl.java
  • frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/RowInflaterTask.java
  • frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentInflater.java
  • frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
  • frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java

SystemUi通知栏相关推荐

  1. Android 10.0下拉通知栏 通知列表 添加通知头

    1.概述 在10.0定制化产品开发中,需求要求对SystemUI通知栏ui进行定制,在状态栏展开布局中的通知栏增加通知头文字 2.下拉通知栏 通知列表 添加通知头的核心类 /frameworks/ba ...

  2. Android 7.1 增加屏幕边缘滑动事件(手势滑动)两种方式(Back,Home,Menu功能键) 免开启无障碍功能

    目前公司在做新项目开发,项目目前是不让有Back,Home,Menu实体按键,这就导致了一个问题,点开其它应用无法返回到桌面, 当然些问题对于做开发的我们肯定是难不到的,如果我们开发碰到这问题肯定是a ...

  3. Android 10.0 SystemUI状态栏屏蔽掉通知栏不显示通知

    由于客户需求不需要通知,所以要求去掉所有通知,而通知部分就是在SystemUI部分管理的,所以就要从这里入手来去掉关于通知栏的部分 首选要从两部分入手 第一部分,状态栏显示通知图标的部分 状态栏布局为 ...

  4. Android SystemUI之下拉菜单,通知栏,快捷面板(三)

    Android  SystemUI系列: 1.Android  SystemUI之启动流程(一) 2.Android SystemUI之StatusBar,状态栏(二) 3.Android Syste ...

  5. 9.0自定义SystemUI下拉状态栏和通知栏视图(十七)之自定义通知布局构建

    1.前言 在进行9.0的rom产品定制化开发中,在9.0中针对systemui下拉状态栏和通知栏的定制UI的工作开发中,原生系统的下拉状态栏和通知栏的视图UI在产品开发中会不太满足功能, 所以根据产品 ...

  6. 10.0 自定义SystemUI下拉状态栏和通知栏视图(八)之锁屏通知布局

    1.前言 在进行10.0的系统rom产品定制化开发中,在10.0中针对systemui下拉状态栏和通知栏的定制UI的工作开发中,原生系统的下拉状态栏和通知栏的视图UI在产品开发中会不太满足功能, 所以 ...

  7. 12.0 自定义SystemUI下拉状态栏和通知栏视图(二十)之锁屏通知布局

    1.前言 在进行12.0的系统rom产品定制化开发中,在12.0中针对systemui下拉状态栏和通知栏的定制UI的工作开发中,原生系统的下拉状态栏和通知栏的视图UI在产品开发中会不太满足功能, 所以 ...

  8. SystemUI 下拉通知栏快捷键加载流程

    1.下拉通知栏简介 2.源码位置 SystemUIService.javaframeworks/base/packages/SystemUI/src/com/android/systemui/Syst ...

  9. Android 10 禁止SystemUI 下拉状态栏和通知栏

    1.未锁屏时禁止状态栏和通知栏下拉 代码路径: frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/Keyguard ...

最新文章

  1. 矩阵乘法计算速度再次突破极限,我炼丹能更快了吗?| 哈佛、MIT
  2. Redis的两种持久化方式
  3. SQL SERVER中强制类型转换cast和convert的区别
  4. 在 ASP.NET 中实现会话状态的基础
  5. java基础知识系列---垃圾收集
  6. LoRaWAN开放式实验平台
  7. 计算机应用基础任务化教程试题及答案,计算机应用基础任务化教程windows7office2010试卷(带操作题)及答案.doc...
  8. git clone错误
  9. StanfordDB class自学笔记 (8) Querying XML
  10. 【Spark】SparkSQL练习--出租车数据清洗
  11. Ubuntu 18.04.04 安装显卡驱动 nvidia安装
  12. 网络语言C位意思,网络流行语“C位出道”探究
  13. Android开机自启动服务的写法
  14. Easyui datagrid数据清空
  15. 脉冲云中使用的ajv
  16. 如何搭建去中心化商城系统案例分析
  17. 文件(file)操作
  18. QAxObject 读写 excel
  19. AES加密解密算法的C代码实现
  20. 51单片机PCF8591-AD-DA转换

热门文章

  1. 我的理解之JAVA中的4种访问权限
  2. 国家电网电力职称英语计算机网站,国网电力职称英语阅读理解.doc
  3. 如何修改chrome账号密码自动填充的字体样式
  4. appium通过定位坐标进行定位(兼容模式)
  5. gtest从一无所知到熟练使用(3)什么是test suite和test case
  6. fx3u4ad一adp说明书_三菱FX3U-4AD-ADP使用方法
  7. 关于洗牌的研究(六)——从数学到魔术之完美洗牌
  8. 记录某学校热水卡安全性研究
  9. 使用嵌套循环打印图形
  10. maven多模块编译子包