基本概念
通知是指 Android 在应用界面之外显示的消息,旨在向用户提供提醒、来自他人的通信信息或应用中的其他及时信息。用户可以点按通知来打开应用,或直接从通知中执行操作。
显示位置
通知会在不同位置以不同格式显示在用户面前,例如状态栏中的图标、抽屉式通知栏中的详情条目、应用图标上的标志,以及在配对的穿戴式设备上自动显示。
通知基本结构
- 小图标:此为必要图标,通过 setSmallIcon() 设置。
- 应用名称:此由系统提供。
- 时间戳:此由系统提供,不过您可以通过 setWhen() 进行替换,或使用 setShowWhen(false) 将其隐藏。
- 大图标:此为可选图标(通常仅用于联系人照片;请勿将其用于应用图标),通过 setLargeIcon() 设置。
- 标题:此为可选内容,通过 setContentTitle() 设置。
- 文本:此为可选内容,通过 setContentText() 设置。
通知更新、分组
如果有必要传递多个通知,则应考虑将这些独立通知分为一组(适用于 Android 7.0 及更高版本)。
借助通知组,能够以摘要形式将多个通知收起到抽屉式通知栏的一条通知消息中。
然后,用户可以展开通知以查看每个单独通知的详细信息。
用户可以逐级展开通知组及其中的每个通知,以获取更多详细信息。
通知重要性
Android 使用通知的重要性来决定该通知应在多大程度上(视觉和听觉上)打扰用户。
通知的重要性越高,通知的打扰级别就越高。
在 Android 8.0(API 级别 26)及更高版本上,通知的重要性由通知目标发布渠道的 importance 决定。
用户可以在系统设置中更改通知渠道的重要性。
可能的重要性级别如下:
- 紧急:发出声音并以浮动通知的形式显示。
- 高:发出声音。
- 中:不发出声音。
- 低:不发出声音,也不在状态栏中显示。
其他说明
现在必须将单个通知放入特定渠道中。
用户现在可以按渠道关闭通知,而不是关闭应用的所有通知。
包含活动通知的应用会在主屏幕/启动器屏幕上的应用图标上方显示通知“标志”。
现在,用户可以暂停抽屉式通知栏中的通知。
您可以为通知设置自动超时。
您还可以设置通知的背景颜色。
与通知行为相关的部分 API 已从 Notification 移至 NotificationChannel。
例如,对 Android 8.0 及更高版本使用 NotificationChannel.setImportance(),而不是 NotificationCompat.Builder.setPriority()。
总结
这里只是简单学习Android中的通知是什么已经一些注意事项。
后面会开始尝试创建基本的通知、创建展开式通知、从通知启动Activity等等。
如果条件允许,我还将选择接入一些可靠的推送服务平台。