04. Notification 通知栏分析(AndroidO)

本文分析了Android O中Notification的发送、显示流程和布局,包括通知的创建、使用NotificationManager发送通知,以及Android 8.0引入的通知渠道概念。同时,文章探讨了通知栏的显示时序和视图加载过程。
摘要由CSDN通过智能技术生成

Notification 通知栏分析(AndroidO)

1 概述

通知栏是状态栏中比较常见的功能,通知栏主要用来表示一个事件,比如一条消息、一个后台任务执行进度等。当有通知到来时,在状态栏顶部显示相关信息图标,状态栏下拉后,可以看到通知栏相关信息,并且可以对通知栏中的消息项进行一些处理。

2 通知栏分析

2.1 通知的发送

当需要向系统发送一条通知时,可以使用 NotificationManager 向通知栏添加一条通知,通知的实例创建使用的是 Notification,它用来描述了通知的所有详细信息。在 Android8.0 中,应用发送通知需要带上自定义的通知渠道 NotificationChannels, 否则通知将不会发送成功,而通知渠道主要由用户在系统设置中通过开关来维护。

这里以截图成功后向系统发送通知的代码为例,介绍一下如何发送一条通知。

// frameworks\base\packages\SystemUI\src\com\android\systemui\screenshot\GlobalScreenshot.java
class SaveImageInBackgroundTask extends AsyncTask<Void, Void, Void> {
   
    private final NotificationManager mNotificationManager;
    private final Notification.Builder mNotificationBuilder;
    ...
    protected void onPostExecute(Void params) {
   
        if (mParams.errorMsgResId != 0) {
   
            GlobalScreenshot.notifyScreenshotError(mParams.context, mNotificationManager, mParams.errorMsgResId);
        } else {
   
            // 发送通知提示截图已保存...
            Context context = mParams
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值