type
status
date
slug
summary
tags
category
icon
password
由于不同版本API兼容性问题,我们通常使用NotificationCompact去创建通知.

注册NotificationChannel

一般在应用启动的时候注册通知channel:

点击动作

使用PenddingIntent:

显示/更新通知

移除通知

除非发生以下情况之一,否则通知仍然可见:
  • 用户关闭通知。
  • 用户点击通知,且您在创建通知时调用了 setAutoCancel()
  • 您针对特定的通知 ID 调用了 cancel()。此方法还会删除当前通知。
  • 您调用了 cancelAll() 方法,该方法将移除之前发出的所有通知。
  • 如果您在创建通知时使用 setTimeoutAfter() 设置了超时,系统会在指定持续时间过后取消通知。如果需要,您可以在指定的超时持续时间过去之前取消通知。

勿扰模式与通知类别

用来确定用户在勿扰模式下通知是否打扰用户.(并不是必须的)

通知的样式

  • 普通的通知
    • 带进度条
      • 最后一个参数表示是否未具体的进度和无限循环的样式.
    • 应用图标上的红点通知
      • 可展开的通知
        • 大图
        • 大段文本
          • 收件箱样式
            • 对话框样式
              • 媒体类型样式
              • 自定义布局
                • 直接使用setCustomBigContentView,但是不使用setStyle
                • 使用setStyle + RemoteView:

                打开通知设置页

                参考文档

                1. https://developer.android.com/guide/topics/ui/notifiers/notifications?hl=zh-cn
                1. https://developer.android.com/training/notify-user/expanded?hl=zh-cn
                Android系统启动流程-桌面程序的启动Android启动流程-init进程分析
                Loading...