安开发卓之Notification(一)代码直接能用
Notification是Android中很理想的一种显示提示信息的方法,它可以将应用程序的信息传递到我们的Android桌面状态栏,采用这种消息传递方式不会影响到用户对手机的正常使用。而且Notification不仅仅可以传递文字信息,还可以传递图片信息,甚至可以将我们的控件追加到上面,只要用户不对其进行清空,那么消息将一直保存在用户桌面的状态栏当中。
Notification通常用来进行对用户的更新提醒等消息的传递。
Notification需要使用到NotificationManager(消息通知管理类)对消息进行管理,其创建需要五个步骤:
(1)通过getSystemService获取Notification对象
(2)创建一个Notification,每一个notification对应一个notification对象。
(3)创建一个PendingIntent对象
(4)使用notification类的setLatestEventInfo方法设置Notification对象的详细信息
(5)使用NotificationManager对象的notify方法显示消息
在第二步时应当注意需要设置显示在屏幕上方状态栏的通知消息、通知消息前方的图像资源ID和放出通知的时间,一般为当前时间
(3)创建PendingIntent对象:
由于notification可以与应用程序脱离,也就是说你的应用程序已经关闭,消息仍然显示在状态栏之中,当应用程序再次启动后,又可以重新控制这些notification,如清除、替换等工作。因此需要PendingIntent对象,该对象由安卓系统维护,因此,应用程序关闭后,消息仍然不会被释放。
(4)在使用notify方法时需要指定Notification对象的唯一ID,这个ID必须相对于一个Notificationmanager对象来说是唯一的,否则就会覆盖相同ID的
Notification
NotificationManager manager = (NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
String notice = "您有短消息了!";
Notification notification = new Notification(R.drawable.ic_launcher, notice,System.currentTimeMillis());
PendingIntent contentIntent = PendingIntent.getActivity
(getApplicationContext(), 0, getIntent(), 0);
notification.setLatestEventInfo
(getApplicationContext(), "小搬运工又变帅了", "华中软件龙头企业", contentIntent);
notification.defaults = Notification.DEFAULT_SOUND;
notification.defaults = Notification.DEFAULT_LIGHTS;
notification.defaults = Notification.DEFAULT_VIBRATE;
notification.defaults = Notification.DEFAULT_ALL;
manager.notify(R.drawable.ic_launcher,notification);
1、如果要调取声音,需用使用到:android:name=“android.permission.VIBRATE”权限
NotificationManager.cancel(resId)清除某个数据 NotificationManager.cancelAll()清除某个NotificationManager对象中的所有消息。
在清除完消息后,需要做一些善后工作,需要通过notification,deleteIntent来完成,deleteIntent也需要一个pendingIntent类型的变量,用于在清除所用的notification对象时调用。这个动作可以与Activity、Service、Broadcast关联。
如果想永久保存推送的通知,需要增加代码:
安开发卓之Notification(一)代码直接能用的更多相关文章
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布 ...
- django 简易博客开发 5 markdown支持、代码高亮、gravatar头像服务
上一篇博客介绍了comments库使用及ajax支持,现在blog已经具备了基本的功能,但是只能发表文字,不支持富文本编辑.今天我们利用markdown添加富文本支持. markdown语法说明: h ...
- iOS开发 swift 3dTouch实现 附代码
iOS开发 swift 3dTouch实现 附代码 一.What? 从iphone6s开始,苹果手机加入了3d touch技术,最简单的理解就是可以读取用户的点击屏幕力度大小,根据力度大小给予不同的反 ...
- Vue项目开发最新、最全代码规范文档
Vue项目开发最新.最全代码规范文档 2019年02月21日 10:43:49 yw00yw 阅读数 337 一. 目录结构 |— build 构建脚本目录 |— build.js 生产环境构建( ...
- android软件简约记账app开发day04-记账页面条目的代码书写
android软件简约记账app开发day04-记账页面条目的代码书写 在前三天我们完成了基本的界面展示,从今天开始,我们进入到后台逻辑代码的编写中,今天开发记账条目的代码 我们在主页面点击记一笔图标 ...
- Android开发4: Notification编程基础、Broadcast的使用及其静态注册、动态注册方式
前言 啦啦啦~(博主每次开篇都要卖个萌,大家是不是都厌倦了呢~) 本篇博文希望帮助大家掌握 Broadcast 编程基础,实现动态注册 Broadcast 和静态注册 Broadcast 的方式以及学 ...
- 1 go 开发环境搭建与简单代码实现
什么是go语言 go是一门并发支持,垃圾回收的编译型 系统编程语言,旨在创造一门具有静态编译语言的高性能和动态语言的高效开发之间拥有一个良好平衡点 的一门编程语言. go有什么优点? 自动垃圾回收机制 ...
- ios 开发中使用SVN管理代码
今天新公司需要使用SVN管理代码,就在网上查看相关的资料,现在把相关用法记录下来: 1.使用的是这个软件Cornerston 网上有很多相应的下载链接,可以去查看 2.下载安装之后,首先需要添加仓库r ...
- Android NDK开发(五)--C代码回调Java代码【转】
转载请注明出处:http://blog.csdn.net/allen315410/article/details/41862479 在上篇博客里了解了Java层是怎样传递数据到C层代码,并且熟悉了大部 ...
随机推荐
- nfs 笔记 2
http://woxihuanpes.blog.163.com/blog/static/12423219820097139145238/ http://blog.csdn.net/willvc123/ ...
- exportfs 入门/ 错误
exportfs -uv 不能卸载, exportfs -au 才可以 ================================================================ ...
- Spring学习记录(十四)---JDBC基本操作
先看一些定义: 在Spring JDBC模块中,所有的类可以被分到四个单独的包:1.core即核心包,它包含了JDBC的核心功能.此包内有很多重要的类,包括:JdbcTemplate类.SimpleJ ...
- C/S架构应用程序开发培训笔记
最近为客户组织了一项C/S架构程序的开发培训,讲解C/S应用程序开发中需要注意的点. 我主要是做C/S方面的ERP/CRM程序开发,界面是用Windows Forms技术,有遗漏或错误的地方欢迎批评指 ...
- Python标准模块--argparse
1 模块简介 你一定很奇怪Python是如何命令行中的变量的吧?argparse就是用来解决这个问题的,argparse是optparse的替代. 2 模块使用 2.1 开始 我发现解释一个编程的概念 ...
- 开始学nodejs —— 调试篇
新学习一种技术,肯定会遇到很多坑,我们需要找到这些坑,弄清楚这些坑出现的原因和其中的原理.这种操作就叫做调试. 程序调试的方法和工具多种多样,在这里我总结一下我在学习nodejs的过程中,学到的和用到 ...
- DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(2)
上一篇:<DDD 领域驱动设计-谈谈 Repository.IUnitOfWork 和 IDbContext 的实践(1)> 阅读目录: 抽离 IRepository 并改造 Reposi ...
- Anliven - To-Do List
2016 - December Name Type Start Deadline Status Output Comments Last Review SQL必知必会(第4版) Book 2016-1 ...
- c#编程基础之ref、out参数
引例: 先看这个源码,函数传递后由于传递的是副本所以真正的值并没有改变. 源码如下: using System; using System.Collections.Generic; using Sys ...
- 代码的坏味道(13)——过多的注释(Comments)
坏味道--过多的注释(Comments) 特征 注释本身并不是坏事.但是常常有这样的情况:一段代码中出现长长的注释,而它之所以存在,是因为代码很糟糕. 问题原因 注释的作者意识到自己的代码不直观或不明 ...