状态栏通知(Status Bar Notifications)
状态栏图标把一个图标添加到系统的状态栏(带有一个可选的文本提醒消息),并且还在通知窗口中添加一个通知消息。当用户选择这个通知时,Android系统会触发一个由通知定义的Intent对象(通常是要启动一个Activity)。你也能够在设备上给通知配置声音、震动、屏幕闪烁等效果来提醒用户。
状态栏通知应该用于后台服务要求用户响应有关事件的场景中。为了接受用户的交互,后台服务不应该自己启动Activity。相反,服务应该创建一个状态栏通知,当用户选择这个通知时,才启动对应的Activity。
图1在状态栏的左侧显示一个带有通知图标的状态栏。
图1.带有通知的状态栏
图2显示通知窗口中的通知消息。
图2.通知窗口
基础
Activity或Service对象能够初始化一个状态栏通知。因为Activity仅能够在前台运行且窗口有焦点时才能执行操作,所以通常是由Service对象来创建状态栏通知。这种方式下,当用户正在使用另一个应用程序或设备休眠时,通知也能够从后台创建。要创建通知,必须使用两个类:Notification和NotificationManager。
使用Notification类的一个实例来定义状态栏通知的属性,如状态栏图标、通知消息,以及另外的如播放声音的设置等。NotificationManager对象是Android系统的服务,它执行和管理所有状态栏通知。你不需要直接实例化NotificationManager对象。为把通知发给它,必须用getSystemService()方法获得NotificationManager对象的引用,然后再想要通知用户的时候,用notify()方法把Notification对象传递给它。
以下是创建一个状态栏通知的方法:
1.获得NotificationManager对象的引用:
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
2.初始化Notification对象:
int icon = R.drawable.notification_icon;
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
3.定义通知消息和PendingIntent对象:
Context context = getApplicationContext();
CharSequence contentTitle = "My notification";
CharSequence contentText = "Hello World!";
Intent notificationIntent = new Intent(this, MyClass.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
4.把Notification对象传递给NotificationManager:
privatestaticfinalintHELLO_ID=1;
mNotificationManager.notify(HELLO_ID,notification);
到此为止,用户已经收到通知了。
分享到:
相关推荐
通知是一个可以在应用程序正常的用户界面之外显示给用户的消息。 通知发出时,它首先出现在状态栏的通知区域中,用户打开通知抽屉可查看通知详情。通知区域和通知抽屉都是用户可以随时查看的系统控制区域。
这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...
我们在做Android开发的时候经常会遇到后台线程执行的比如说下载文件的时候,这个时候我们希望让客户能看到后台有操作进行,这时候我们就可以使用进度条,那么既然在后台运行,为的就是尽量不占用当前操作空间,用户可能...
过一段时间后该通知消失,同时在状态栏上显示代表该登录状态的图标(如图) 将状态栏下拉可以看到状态的详细信息(如图) 单击”更改登录状态”按钮,将显示通知列表。单击”退出”按钮,可以删除该通知。 具体实现...
状态栏图标用于应用程序在状态栏中的通知。 Tab图标 Tab 图标用来表示在一个多选项卡界面的各个选项的图形元素。 对话框图标 对话框图标是在弹出框中显示,增加互动性。 列表视图图标 使用列表视图图标是用图形表示...
52_发送状态栏通知.avi 所在项目:Notification 53_采用网页设计软件界面.avi 所在项目:htmlUI 54_tween动画.avi 所在项目:tween 55_frame动画的实现.avi 所在项目:frameAnimation 56_activity切换动画与页面...
5.8 状态栏的图标与文字提醒——NotificationManager与Notification对象的应用 5.9 搜索手机通讯录自动完成——使用ContentResolver 5.10 取得联系人资料——Provider.Contact的使用 5.11 制作有图标的文件资源管理...
5.8 状态栏的图标与文字提醒——NotificationManager与Notification对象的应用 5.9 搜索手机通讯录自动完成——使用ContentResolver 5.10 取得联系人资料——Provider.Contact的使用 5.11 制作有图标的文件资源管理...
19、Notification 状态栏通知 20、GridView、ImageSwitcher 21、SmsManager 消息管理器,发短信(这里是模拟器只能给其它模拟器发短信) 22、Intent Action、Category属性 测试 23、系统 Action、Category属性 24...
5.8 状态栏的图标与文字提醒——NotificationManager与Notification对象的应用 5.9 搜索手机通讯录自动完成——使用ContentResolver 5.10 取得联系人资料——Provider.Contact的使用 5.11 制作有图标的文件资源管理...
状态栏 屏幕最上面的栏,包含几个图标,如信号。 锁屏 当您按下电源按钮时所看到的。 锁屏小部件 显然在 Android 5 中删除了。 吐司 通知历史 通知 将数据传输到 SD 卡通知 禁用: 应用程序更新通知 禁用: 新的语音...
3.6.3 秘诀25:在状态栏中显示通知 62 第4 章 用户界面布局 65 4.1 资源目录及其基本属性 65 4.2 view 和viewgroup 67 4.2.1 秘诀27:利用eclipse 编辑器生成布局 68 4.2.2 秘诀28:控制ui 元素的宽度和高度 71...
状态栏通知,带播放控件 锁定屏幕小部件 - 在设备锁定时控制您的歌曲 插入/取出耳机时自动检测 版本和设备支持 在联想、三星和 Techno 设备上进行了测试。 我相信它应该适用于大多数运行 Android API Level 3 ...
52_发送状态栏通知.avi 所在项目:Notification 53_采用网页设计软件界面.avi 所在项目:htmlUI 54_tween动画.avi 所在项目:tween 55_frame动画的实现.avi 所在项目:frameAnimation 56_activity切换动画与页面...
5.8 状态栏的图标与文字提醒 200 5.9 搜索手机通讯录自动完成 203 5.10 取得联系人资料 207 5.11 制作有图标的文件资源管理器 210 5.12 还原手机默认桌面 215 5.13 置换手机后台图 217 5.14 获取...
19、Notification 状态栏通知 20、GridView、ImageSwitcher 21、SmsManager 消息管理器,发短信(这里是模拟器只能给其它模拟器发短信) 22、Intent Action、Category属性 测试 23、系统 Action、Category属性 24...
5.8 状态栏的图标与文字提醒 5.9 搜索手机通讯录自动完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌面 5.13 置换手机后台图 5.14 获取手机现存桌面 5.15 文件资源管理器再进化 5.16...