• Notification的一点总结


    Notification基本介绍

    • Android support v4包提供了很多Notification的新特性的向下兼容
    • 从Android4.1开始,Android系统开始支持内容更加丰富,定制化更强的Notification视图展示,例如可以展示多行文本,添加按钮等等
    • Notification可以分为Big view视图和normal视图两种,BigView视图从4.1开始加入,normal视图被所有版本支持。

    重要知识点

    Notification必须要包含三个属性,否则不能显示

    • A small icon, set by setSmallIcon()
    • A title, set by setContentTitle()
    • Detail text, set by setContentText()

    Notification priority

    占坑

    Big View视图和Normal视图的区别

    • Normal视图大小仅为64dp,只能展示一行主要内容,显示不完全的部分以”..."代替
    • Big View视图大小为256dp,提供了三种样式,并且能够展示Action按钮,提供更复杂的操作
      • 三种复杂视图
        • BigTextStyle:
        • BigPictureStyle:
        • InboxStyle:
      • Action

    用户在Notification panel删除Notification的时候,客户端如何得到用户删除了Notification呢?

    • 需求:客户端接收来自GCM的push消息,收到消息的时候,如果客户端在后台,或者被用户杀掉,那么发送Notification来提醒用户,新的Notifcation消息不能覆盖先前的Notification,而是累加起来显示给用户。但是Android的Notification系统并没有提供累加Notification的特性,客户端只能自己来实现,本地化存储Notification信息,用户在Notification panel clear或者点击 Notification的时候,消费点这些Notification,用户点击Notification的时候,会启动程序,程序自然可以删除本地存储了,但是如果用户是clear notification的时候该怎么办呢?

    • 实现 设置Notification的delteIntent就可以了,用户clearNotification的时候,系统就会发送delete intent,响应该Intent的组件就可以进行清理工作了。特别需要需要注意的是用户在clear notification的时候,并不希望去启动程序,所以响应delete intent的组件设置为service是非常合适的。

    Notification的Group机制和Category是干嘛用的?

    • 通过设置Group,可以将多个Notification归类到一组中去,Android developer上有一个非常好的例子,例子中将三个notification归类到一个组中,设置第一个Notification 为group summary,这样notification1就发送到手机上,notification2和3发送到Android wear上
    • 从Android 5.0开始,系统可以自动的将Notification进行分类,并且提供了几个分类,例如Email,call等等。

    重要API

    占坑

    保持导航

    • 完全杀掉Gmail,收到一个右键notification,点击notification,跳转到邮件内容界面,back键退回到右键列表界面,back退回到home screen
    • 打开gmail,编辑一个新邮件,这时收到一个邮件notification,

    技巧

    • 使用Android stuido的模板可以很容易的生成代码非常完整的BigPictureStyle,BigTextStyle,InboxStyle,Normal样式的Notification代码。
  • 相关阅读:
    Python with语句和过程抽取思想
    HTML DOM 学习
    暴力破解( Hydra | Medusa)
    CSRF漏洞原理浅谈
    文件包含漏洞原理浅探
    JavaScript BOM学习
    PHP命令执行漏洞初探
    一段思考
    文件上传解析漏洞
    谈谈Javascript的this关键字(this is not this)
  • 原文地址:https://www.cnblogs.com/idealgrass/p/4257452.html
Copyright © 2020-2023  润新知