通知,几乎存在于每一个 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. CSS中的rem的换算

    rem好像也是一个相对大小的值,它是相对于根元素<html>,比如假设,我们设置html的字体大小的值为 html{font-size: 87.5%;}(也就是14px,这是twentyt ...

  2. 转:MYSQL连接字符串参数解析(解释)

    被迫转到MySQL数据库,发现读取数据库时,tinyint类型的值都被转化为boolean了,这样大于1的值都丢失,变成true了.查阅资料MySQL中无Boolean类型,都是存储为tinyint了 ...

  3. 洛谷 P1182 数列分段Section II Label:贪心

    题目描述 对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一数列4 2 4 5 1要分成3段 将其如下分段: [4 ...

  4. MD5加密的Java实现

    在各种应用系统中,如果需要设置账户,那么就会涉及到储存用户账户信息的问题,为了保证所储存账户信息的安全,通常会采用MD5加密的方式来,进行储存.首先,简单得介绍一下,什么是MD5加密. MD5的全称是 ...

  5. 2632: [neerc2011]Gcd guessing game

    2632: [neerc2011]Gcd guessing game Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 144  Solved: 84[S ...

  6. 还原后缀名为.bak的数据库备份文件

    1.打开SQL Server Management Studio,随便右击击一个数据库选择任务-->还原-->数据库 4.在弹出来的窗口中的源选项中选择设备-->点选择设备--> ...

  7. 最简单的android自定义进度条样式

    一.自定义圆形进度条样式 1.在安卓项目drawable目录下新建一个xml文件如下:<?xml version="1.0" encoding="utf-8&quo ...

  8. Jsonp原理就是这么简单

    原理就是:包裹数据的js数据文件,自动执行,找到目标函数,通过传参,把数据注入进去. 当你打开本篇博文,证明你已经大体知道了Jsonp的作用了. 但如果需要我介绍一下,我也可以简单介绍: 简单说,就是 ...

  9. sql server 代理服务

    sql server 创建维护计划失败.错误代码:c001f011. 从 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-497E-B2F9-AF6AA475916F} ...

  10. duplicate symbols for architecture arm64 after xCode 8.0 update

    Xcode IDE  从7.3.1 update 到 8.0 之后出现的问题 一个错误把我困扰了两天之久,最终找到解决办法我欣喜若狂. 错误发生原因:Xcode IDE  从7.3.1 update ...