通知,几乎存在于每一个 Android 的应用中,新闻客户端来一条新闻的时候会给你发一条通知,QQ、微信有新消息来的时候会给你发一条通知,反正,通知就像魔鬼般一直缠绕在我们的左右。所以,Android 的开发中,关于通知这方面也是需要掌握的。

什么是通知?
通知是您可以在应用的常规 UI 外部向用户显示的消息。当您告知系统发出通知时,它将先以图标的形式显示在通知区域中。用户可以打开抽屉式通知栏查看通知的详细信息。 通知区域和抽屉式通知栏均是由系统控制的区域,用户可以随时查看。(摘自于google官方网站) 怎么写一个通知并发出去呢?
1、创建通知
2、设置相关的标题,内容以及要做的动作等等
3、发送通知 如何创建通知?
通知的创建是比较费事的,怎么说呢?不就new一个就好了么,肯定没那么简单了。
API 11 以前(不包括11)
说的好简单,new 一个就好,你以为是对象啊,想要什么就 new 什么。没错,通知也是一个对象。确实也可以 new 出来,但这是api版本 11 以前的了,在api 11 以前确实可以直接new,然后发送。就是那么简单。new Notification())
API 16以前(不包括16)
在 api 11 以后,采用的是 Build 的方式去创建一个通知,但怎么兼容 api 版本 11 以前的呢?官方给出了一个万能的兼容包,那就是V4包,我们都知道,V4 是我们开发中必不可少并且很强大的一个兼容包,里面涵盖的东西也很多,例如Fragment,drawLayout等等,所以,这也很好兼容,直接使用V4包解决全部问题。new NotificationCompat.Builder(this).build())
API 16以后(包括16)
好了,16以前的问题解决了,谷歌没事做又在通知这里折腾了,16以后又变了。这个时候又可以使用 Android 自带的来创建通知了,别想多,不是直接 new,还是通过 Build 的方式来创建,只不过 Build 的方式有所变化。(new Notification.Builder(this).build())
API 23以上(包括23)
这个版本就蛋疼了,以前可以直接setLatestEventInfo() 一次性解决所有问题的,一次设置标题,内容等。现在不行了,api 23以上的版本的 Android 已经弃用了这个方法。所以,以前的 setLatestEventInfo 又要say goodbye 了。
从上面可以看出,要兼容所有的版本其实还是比较复杂的,有那么复杂吗?
其实也没那么复杂,既然11以前的已经弃用new的方式了,就直接使用V4包就好了,23以上的 setLatestEventInfo 已经弃用,就不用就好了。最后就只剩下 API 16 这个分界线了。所以,最后我们只需要根据 API 的版本判断一下是 16 以前的还是 16 以后的就好啦。
最后来看大招:

一个完美的通知就这样写出来了。代码写的很简单,注释也有,不再解释。
这是比较简单的一个通知,也是最基本的通知。通知还有多种玩法,例如,闪三色灯,震动、铃声提醒等。还有自定义通知样式,字体,大图通知等等多种玩法。这里就先不放出来了,后续有时间再写几篇有关于通知的博文吧! 2016-10-26

Android-Notification-简单的demo的更多相关文章

  1. 转:android surface简单使用Demo

    转: http://blog.csdn.net/listening_music/article/details/6860786 通过之前介绍的如何自定义View, 我们知道使用它可以做一些简单的动画效 ...

  2. android JNI 简单demo(2)它JNI demo 写

    android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...

  3. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  4. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  5. 3、android notification 详细用法

    在 android 系统中,在应用程序可能会遇到几种情况需要通知用户,有的需要用户回应,有的则不需要,例如: * 当保存文件等事件完成,应该会出现一个小的消息,以确认保存成功. * 如果应用程序在后台 ...

  6. Android NOtification 使用(震动 闪屏 铃声)

    一. Notification 简介 在 android 系统中,在应用程序可能会遇到几种情况需要通知用户,有的需要用户回应,有的则不需要,例如: * 当保存文件等事件完成,应该会出现一个小的消息,以 ...

  7. Android发展简单介绍

    Android一词的本义指“机器人”,同一时候也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动 ...

  8. Android Notification通知详细解释

    Android Notification通知具体解释  Notification: (一).简单介绍:         显示在手机状态栏的通知. Notification所代表的是一种具有全局效果的通 ...

  9. 解决Android微信支付官方demo运行失败

    Android微信支付官方demo运行失败,在此简单记录一下解决步骤 1.httpclient错误 官方给的demo是eclipse的,打开之后提示httpclient的错误,我知道在as下解决htt ...

  10. Android JNI学习(五)——Demo演示

    本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...

随机推荐

  1. Codeforces Round #388 (Div. 2) - B

    题目链接:http://codeforces.com/contest/749/problem/B 题意:给定平行四边形的3个点,输出所有可能的第四个点. 思路:枚举任意两个点形成的直线,然后利用这两个 ...

  2. Day 2 T1

    题目描述 组合数表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组合数的定 义,我们可以给出计算 ...

  3. AMD与CMD(转载)

    JavaSript模块化   在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发?       模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题 ...

  4. Linux上的free命令详解、swap机制

    Linux上的free命令详解   解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free ...

  5. NFSv4的引用,迁移和备份(用户手册 v0.2)

    RFC3530 定义了NFS文件系统迁移和引用的管理机制.文件系统定位功能通过fs_location属性向客户端提供文件系统的位置信息.fs_location属 性是一个包含有位置信息的列表,位置信息 ...

  6. Python之路第一课Day6--随堂笔记(面向对象 )

    本节内容: 1. 面向对象编程介绍 2. 为什么要用面向对象进行开发? 3. 面向对象的特性:封装.继承.多态 4. 类.方法   一.面向过程 VS 面向对象  1. 编程范式 编程是 程序 员 用 ...

  7. pythonchallenge 解谜 Level 5

    第五关的确很坑爹... 不过,根据之前的思路,我想着是把信息放在了 “源码” 中. 翻了下源码.有用的东西在以下部分. <html><head> <title>pe ...

  8. jquery插入复杂表格,合并行列

    此方法为个人测试所写,针对各种兼容性问题还未测试,初写的目的是easyui复杂表头有些缺陷,比如某个表头合并两列, 在easyui中这样操作无法绑定两个值 或者说我没找到 再或者 可以做个隐藏 数据列 ...

  9. iOS开发——post异步网络请求封装

    IOS中有许多网络请求的函数,同步的,异步的,通过delegate异步回调的. 在做一个项目的时候,上网看了很多别人的例子,发现都没有一个简单的,方便的异步请求的封装例子.我这里要给出的封装代码,是异 ...

  10. laravel 生成验证码的方法

    在Laravel中有很多图片验证码的库可以使用,本篇介绍其中之一:gregwar/captcha,这个库比较简单,在Laravel中比较常用.下面我们就来介绍下使用细节: 首先, composer.j ...