视图

通知图标显示分析:

如上所述,所有的通知信息保存在了自定义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. M1 mac安装PyTorch的完整步骤指南
  2. android 设颜色透明值
  3. 编程方法学13:字符串处理
  4. linux 代码统计工具,Shell脚本实现的基于SVN的代码提交量统计工具
  5. C语言学习之购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。
  6. rabbitmq python_Python操作RabbitMQ服务器实现消息队列的路由功能
  7. latex中怎样写上标_LaTex:参考文献引用的方法
  8. 怎样在html中插入广告,如何在网页中插入广告代码。
  9. python gil锁_python--GIL锁
  10. React学习笔记(五) 状态提升
  11. 前端笔试题【1】--从字符串的第二个字符开始对数组进行排序
  12. 《机器学习实战》KNN算法实现
  13. 空间复杂度怎么算_西餐厅主题餐饮空间设计装修预算怎么算?-雨川
  14. Yii Framework2.0开发教程(3)数据库mysql入门
  15. 【制作】基于金沙滩51单片机的贪吃蛇程序
  16. Kelihos荣升恶意软件之王
  17. 深度学习安装笔记(二)显卡、显卡驱动、CUDA 的关系以及显卡驱动升级
  18. 这一篇带你学点儿 Java8 中的流式数据处理
  19. 王选-“从Dijkstra谈帅才的洞察力”[转]
  20. 2021-03-13 java八大基本数据类型

热门文章

  1. NBUT 1181 Big Mouth of Abyss - Kog'Maw(删k位留最大最小数)
  2. 柴浩然妙用三物黄芩汤
  3. M3U8 文件介绍 与 播放方法
  4. 三步为你的 Mac 设置黑客帝国矩阵屏保
  5. 清华计算机专业作业,微计算机技术(清华)配套练习题及答案 作业2(答案)END
  6. vue项目动态设置浏览器标题title两种方法
  7. 跟着团子学SAP PS后台篇——项目编码配置 OPSJ/OPSK
  8. 讯飞aiui的webapi+python使用记录
  9. 蓝绿黄车牌识别(附Python代码)
  10. 【SIFT算法】极值检测关键点精确定位