systemui

本文详细介绍了Android系统中的SystemUI组件,包括Statusbar的概述、基本布局、内部框架、流程以及重要文件。重点讲解了Statusbar的功能,如通知管理、系统图标的操作,以及状态栏的拖动刷新机制。此外,还分析了StatusBarService、StatusBarPolicy、CommandQueue的角色和工作原理。
摘要由CSDN通过智能技术生成

 

一、SystemUI 概述

二、模块基本布局

三、模块内部框架

四、模块流程

五、重要文件的介绍

 

 

一、SystemUI 概述

1.Statusbar 的功能作用

    1.1 状态栏的通知功能(包括时间,通知,系统状态等)

   1.2 状态栏的日期显示

2.Statusbar 的使用方法

    2.1 notification 的使用

    2.2 系统图标的增加删除

 

* notification 的使用

 

 

Notification n = new Notification();  //实例化Notification       

n.icon = R.drawable.icon; //设置状态栏显示图标

n.tickerText = "Test Notifaction";  //设置显示提示信息

n.when = System.currentTimeMillis(); //显示时间

n.flags = Notification.FLAG_NO_CLEAR;  

n.flags = Notification.FLAG_ONGOING_EVENT;   

static final int ID = 1;

NotificationManager nm =(NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);  

 

Intent intent = new Intent(Main.this, Main.class);  

PendingIntent pi = PendingIntent.getActivity(Main.this,0, intent, 0);  

n.setLatestEventInfo(Main.this, "My Title","My Content", pi);  

nm.notify(ID, n); //发出通知  

nm.cancel(ID);   //取消通知

 

 

 

如何区分“正在进行的”和“通知”,谁决定一个事件是“正在进行的”还是持续的“通知”?

通过设置Notification的flag属性可以设定notification是正在进行的还是持续的notification。FLAG_INSISTENT和FLAG_ONGOING_EVENT标志位可以让Notification成为持续的或正在进行的Notification。

正在进行的事件的通知:

notification.flags =notification.flags | Notification.FLAG_ONGOING_EVENT;

持续的Notification一直重复,直到用户取消:

notification.flags =notification.flags | Notification.FLAG_INSISTENT;

 

* 系统图标的增加删除

 

状态栏添加显示的系统图标的步骤

1.frameworks\base\core\res\res\drawalbe中添加系统图标的图片资源

2.frameworks\base\core\res\res\values\config.xml 中添加图片引用,这些 icon 在这个stringarray的位置就决定了其在status bar 上显示的位置了。

3.在 StatusbarPolicy.java 中初始化所增加的系统图标

4.在构造函数中 SetIcon

5.StatusBarPolicy 调用registerReceiver注册了感兴趣的 intent,当感兴趣的 intent 发生时,对图标进行更新

6..添加图标更新函数

删除时删除相关代码图片即可

 

二、模块基本布局

 

1.Statu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值