zoukankan      html  css  js  c++  java
  • 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代码。
  • 相关阅读:
    k8s 新加节点
    /etc/bashrc
    k8s 连接harbor 的私有仓库的两种方法 一种是secret 绑定到sa serviceaccount 账号下 一种是需要绑定到 imagePullSecrets:
    pip install --upgrade urllib3==1.25.2
    mysql skip-grant-tables 后要多次重启 和验证登录检查确认密码生效
    k8s 传参给docker env command、args和dockerfile中的entrypoint、cmd之间的关系
    kubectl -n ingress-nginx exec nginx-ingress-controller-78bd49949c-t22bl -- cat /etc/nginx/nginx.conf
    更新Alpine Linux源 sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories apk add xxx
    ingress nginx https配置
    Ingress-nginx 部署使用
  • 原文地址:https://www.cnblogs.com/idealgrass/p/4257452.html
Copyright © 2011-2022 走看看