文档章节

Android下Notification(通知栏)的使用

岳静
 岳静
发布于 2012/07/06 23:19
字数 360
阅读 2856
收藏 0

使用Notification的好处:在我们的android应用程序返回到主界面或其它的时候,我们可以在android系统的通知栏上面点击指定的图标开启指定的应用。好比android版的手机QQ一样,返回到主界面或其它界面时,会在通知栏上出现一个QQ的图标,这里实现的就是这种功能。

下面给出一个简单的小列子,大家也可以将这个列子提取为公共的类,这样也方便维护

public class NotificationActivity extends Activity {
 //声明通知(消息)管理器 
 NotificationManager m_NotificationManager;
 Intent  m_Intent;
 PendingIntent m_PendingIntent;
 //声明Notification对象
 Notification  m_Notification;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.notification);
  //初始化NotificationManager对象 
  m_NotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
 }
 
 public void click(View view){
  switch (view.getId()) {
  case R.id.btn_notification_start:
   showNotification();
   break;
  case R.id.btn_notification_end:
   cancelNotification();
   break;
  default:
   break;
  }
 }
 /** 设置 */
 private void showNotification(){ 
  //点击通知时转移内容 
  //Intent intent = new Intent(this, this.getClass());
  //intent.addCategory(WINDOW_SERVICE);
  //主要是设置点击通知时显示内容的类 
  m_PendingIntent = PendingIntent.getActivity(NotificationActivity.this, 0, getIntent(), 0); //如果转移内容则用m_Intent();
  //构造Notification对象 
  m_Notification = new Notification(); 
  //设置通知在状态栏显示的图标 
  m_Notification.icon = R.drawable.icon;
  //当我们点击通知时显示的内容 
  m_Notification.tickerText = "开始登陆系统..........."; 
  //通知时发出默认的声音 
  m_Notification.defaults = Notification.DEFAULT_SOUND; 
  //设置通知显示的参数 
  m_Notification.setLatestEventInfo(NotificationActivity.this, "MyIMSYS", "登陆通知", m_PendingIntent); 
  //可以理解为执行这个通知 
  m_NotificationManager.notify(0, m_Notification); 
 }
 /** 取消 */
 private void cancelNotification(){
  m_NotificationManager.cancelAll();
 }

© 著作权归作者所有

岳静

岳静

粉丝 45
博文 19
码字总数 8678
作品 0
深圳
高级程序员
私信 提问
加载中

评论(1)

l
lsblogs
请问这里的那个R.id.btn_notification_start是哪来的啊?是个button的id吗?
第88章、系统服务之NOTIFICATION_SERVICE服务(从零开始学Android)

Notification通知将一个图标(包含一条可选的提示文本信息)填加到系统的状态栏(一般来说,Android手机的状态栏是在顶部,非底部,要注意噢)中,并将一条展开信息添加到通知窗口中。当用户...

simpower
2014/09/01
956
0
[Android] Status Bar Notifications

前言   本章内容为Android开发者指南的 Framework Topics/User Interface/Notifications/Status Bar Notifications章节,译为"状态栏通知",版本为Android 4.0 r1,翻译来自:"呆呆大虾",......

亭子happy
2012/09/27
493
0
Android 用户界面---状态栏通知(二)

响应通知 围绕通知如何跟应用程序的UI流进行交互是用户体验的核心部分。你必须正确的实现以便在应用程序中提供一直的用户体验。 由日历应用提供的两种典型的通知的例子,一个是能够对即将发生...

长平狐
2012/10/16
458
0
android Notification 的使用(转自他人)

最近一直在研究 android ,并一边研究一边做应用。其中遇到了把程序通知常驻在 Notification 栏,并且不能被 clear 掉(就像android QQ一样)的问题。经过研究实现了其功能,现把 Notificati...

eric_zhang
2012/02/10
903
0
Notification通知栏

目录介绍 1.Notification简单概述 2.Notification通知用途 3.Notification的基本操作 3.1 Notification创建必要的属性 3.2 Notification简单创建步骤 3.3 关于setSmallIcon()与setLargeIcon(...

潇湘剑雨
2018/11/21
86
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部