android 5.1+ Notification

来源:互联网 发布:淘宝长尾词2017 编辑:程序博客网 时间:2024/04/30 12:40

user通过NotificationManager.notify发送通知请求,然后NotificationManger发送请求给NotificationManagerService,在这里对pendingIntent的信息进行提取以及过滤,然后将消息放进消息队列中去,enqueueNotificationInternal()方法负责将消息放入队列中,buzzBeepBlinkLocked()负责对消息进行处理.至此对于消息的第一步处理就到此结束 如图上半部分所示
notification

然后,当监听器监听到Notification的时候,通知BaseStatusBar,进行状态栏的通知更新,这里有一个问题,就是在android L版本之后,将所有的通知颜色都变成了白色,上网问了一下说是为了美观和整洁,的确有这个问题,但是当贴上非透明的图片的时候,原先的颜色会被涂白,因此,这里出现一些bug

因为原先的那种形式的图标不好看, 颜色太花, 在状态栏上一点也不好看.并且这也是 Material Design 的规范了 ( https://www.google.com/design/spec/patterns/notifications.html)实际上这样的改变在 Android 5.0 里好看了很多, 在 Android 6.0 里有个 android:windowLightStatusBar 把状态栏变成亮色的设定 (图标会变成灰色), 如果 Icon 是单色的, 系统 tint 成其他颜色选择的余地就大了.

0 0
原创粉丝点击