`

android notification

阅读更多
Android Notification 基础工作学习 2010-06-27 17:42:36 阅读869 评论0   字号:大中小 订阅
在Android中,基本的Notification就是有事件发生的时候在屏幕顶端的Notification bar上显示一个图标。然后拉下Notification bar,点击Notification的项目,会调用相应的程序做处理。比如有新短信,就会出现短信的图标,拉下Notification bar,点击图标会调用短信查看程序。



我们先看一下Notification的Sample Code,然后逐行做解说,大致能了解它的基本构成。





import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;...private void showNotification(Message msg, int id) { NotificationManager notiManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); Notification notification = new Notification(R.drawable.notiicon, msg .getTitle(), System.currentTimeMillis()); notification.flags = Notification.FLAG_AUTO_CANCEL; Intent intent = new Intent(this, MainActivity.class); Bundle bundle = new Bundle(); bundle.putString("info", msg.getInfo()); intent.putExtras(bundle); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent contentIntent = PendingIntent.getActivity(this, id, intent, PendingIntent.FLAG_UPDATE_CURRENT); notification.setLatestEventInfo(this, msg.getTitle(), msg.getInfo(), contentIntent); notiManager.notify(id, notification); }



首先导入三个类,Notification,NotificationManager,PendingIntent。 值得一提的是PendingIntent,它可以看做是Intent这封信的一个信封。PendingIntent基本上是Intent的包装和描述,对象收到PendingIntent后,可以得到其中的Intent再发出去。



NotificationManager notiManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);上面这一句,从系统中获得Notification服务,getSystemService()就是这么用,来获得系统服务的。



Notification notification = new Notification(R.drawable.notiicon, msg .getTitle(), System.currentTimeMillis()); notification.flags = Notification.FLAG_AUTO_CANCEL;

然后是构造一个Notification,包括三个属性,图标,图标后面的文字,以及Notification时间部分显示出来的时间,通常使用当前时间。FLAG_AUTO_CANCEL说明Notification点击一次就消失。



Intent intent = new Intent(this, MainActivity.class); Bundle bundle = new Bundle(); bundle.putString("info", msg.getInfo()); intent.putExtras(bundle); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);

上面这部分Code,构造一个Intent,并且放进去一条信息。 FLAG_ACTIVITY_CLEAR_TOP, FLAG_ACTIVITY_NEW_TASK者两个FLAG表示优先寻找已经打开的应用,如果应用没有打开那么启动它。



PendingIntent contentIntent = PendingIntent.getActivity(this, id, intent, PendingIntent.FLAG_UPDATE_CURRENT);这一句代码把Intent包装在PendingIntent里,this是Context,id是PendingIntent的标志,如果id相同会被认为是一个。FLAG_UPDATE_CURRENT是指后来的PendingIntent会更新前面的。



notification.setLatestEventInfo(this, msg.getTitle(), msg.getInfo(), contentIntent); notiManager.notify(id, notification);最后这两行添加状态栏的详细信息,包装PendingIntent给Notification,最后发送Notification。
分享到:
评论

相关推荐

    Android notification+Service实时更新

    在Android开发中,`Notification`、`Service`和`BroadcastReceiver`是三个核心组件,它们在许多场景下都有着重要的作用,特别是在实现应用后台运行、实时更新等任务时。本项目"Android notification+Service实时更新...

    Android Notification

    在Android系统中,通知(Notification)是用户界面中不可或缺的一部分,它允许应用在状态栏或者通知中心向用户传达重要信息,即使用户并未直接与应用交互。"Android Notification"这一主题聚焦于如何创建和管理用于...

    android notification完全解析Demo

    在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使用户不在应用程序中也能提醒用户有新的活动或消息。本文将深入解析Android Notification的工作原理、设计模式以及如何...

    AndroidNotification

    "AndroidNotification"项目旨在整合Android平台上所有Notification的使用方法,这对于开发者来说是一个宝贵的资源,能够帮助他们理解和实践各种通知功能。 首先,我们来详细了解一下Android中的Notification。...

    android Notification Demo

    在Android系统中,通知(Notification)是应用与用户交互的重要方式之一,特别是在后台运行时。"android Notification Demo" 是一个示例项目,旨在演示不同类型的Android通知及其使用方法。在这个项目中,开发者可能...

    android notification of download apk

    类型:NotificationDemo 功能:从网上下载apk存储到手机指定目录,并在通知栏里显示其下载进度,如果下载错误,或者不想要该apk可以删除 涉及知识: 文件流、网络下载链接协议、读写权限、Handler、Notification、...

    Android notification进度条 demo

    在Android开发中,通知(Notification)是用户界面中不可或缺的一部分,它用于在状态栏中向用户传达应用的非即时信息,即使用户不在与该应用交互时也能接收到。本示例"Android notification进度条 demo"专门关注如何...

    android notification 软件更新

    在Android操作系统中,Notification是应用与用户交互的重要方式之一,特别是在软件更新的场景下,它起着关键的作用。本文将深入探讨Android Notification的功能、工作原理以及如何实现软件更新的通知。 一、Android...

    Android Notification Test

    Android Notification 常见样式代码及发送demo,其中包含源码及一个app-release.apk,可直接发送固定样式,也可自定义样式。可以作为通知测试的小工具,也可作为参考demo。

    Android Notification的使用

    在Android系统中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使用户没有直接在应用上操作,也能接收到重要的通知。这篇博客"Android Notification的使用"详细探讨了如何在Android应用...

    Android Notification Toast用法演示范例.rar

    Android Notification消息框 Toast弹出框用法演示范例,本例中关于 Toast弹出框的演示,演示了适时的 Toast和长时间的 Toast,关于Notification的定义,则演示了高级Notification的用法,自定义4种Notification的...

    android Notification通知消息学习(NotificationManager)

    在Android系统中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示消息,即使用户不在使用应用程序也能接收到相关信息。这篇博文“android Notification通知消息学习(NotificationManager)”显然是...

    学习android notification用法

    在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示消息,即使应用不在前台运行,用户也能接收到相关信息。本教程将详细讲解Android Notification的基本用法,帮助开发者掌握如何创建...

    android NotificationDemo

    在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使应用在后台运行也能提醒用户。本示例"android NotificationDemo"着重于如何自定义View来实现更个性化的通知功能。 首先...

    Android Notification测试小程序

    在Android系统中,通知(Notification)是应用与用户交互的重要方式,它可以在状态栏显示信息,即使用户不在应用内也能提醒用户有新的活动或者事件发生。这个“Android Notification测试小程序”显然是为了帮助...

    Android Notification更新

    在Android系统中,Notification是应用与用户交互的重要方式之一,特别是在后台运行时,它能将信息传达给用户,如消息提醒、下载进度等。本文将深入探讨如何利用Android的Notification API来实现动态下载过程的可视化...

    Android-Push-Notifications-master_androidnotification_

    本项目“Android-Push-Notifications-master”专注于教授如何在Android应用中实现推送通知功能,特别关注“androidnotification”这一核心主题。下面将详细介绍这个项目涉及的关键知识点。 1. **GCM (Google Cloud ...

    Android NOtification 使用

    在Android系统中,Notification是应用与用户交互的重要方式,它能提醒用户有新的事件或信息需要处理,即使应用不在前台运行。Notification分为多种类型,包括Toast、StatusBar Notification和Dialog Notification,...

    android Notification

    在Android系统中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使应用在后台运行也能提醒用户有新的活动或者消息。本文将深入探讨`android Notification`的相关知识点,包括其基本结构、...

Global site tag (gtag.js) - Google Analytics