`
ai_longyu
  • 浏览: 474077 次
社区版块
存档分类
最新评论

Android 用户界面---状态栏通知(一)

 
阅读更多

状态栏通知(Status Bar Notifications

状态栏图标把一个图标添加到系统的状态栏(带有一个可选的文本提醒消息),并且还在通知窗口中添加一个通知消息。当用户选择这个通知时,Android系统会触发一个由通知定义的Intent对象(通常是要启动一个Activity)。你也能够在设备上给通知配置声音、震动、屏幕闪烁等效果来提醒用户。

状态栏通知应该用于后台服务要求用户响应有关事件的场景中。为了接受用户的交互,后台服务不应该自己启动Activity。相反,服务应该创建一个状态栏通知,当用户选择这个通知时,才启动对应的Activity

1在状态栏的左侧显示一个带有通知图标的状态栏。

1.带有通知的状态栏

2显示通知窗口中的通知消息。

2.通知窗口

基础

ActivityService对象能够初始化一个状态栏通知。因为Activity仅能够在前台运行且窗口有焦点时才能执行操作,所以通常是由Service对象来创建状态栏通知。这种方式下,当用户正在使用另一个应用程序或设备休眠时,通知也能够从后台创建。要创建通知,必须使用两个类:NotificationNotificationManager

使用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);

到此为止,用户已经收到通知了。

分享到:
评论

相关推荐

    android 通知栏 工具类

    通知是一个可以在应用程序正常的用户界面之外显示给用户的消息。 通知发出时,它首先出现在状态栏的通知区域中,用户打开通知抽屉可查看通知详情。通知区域和通知抽屉都是用户可以随时查看的系统控制区域。

    新版Android开发教程.rar

    这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...

    android项目实现带进度条的系统通知栏消息

    我们在做Android开发的时候经常会遇到后台线程执行的比如说下载文件的时候,这个时候我们希望让客户能看到后台有操作进行,这时候我们就可以使用进度条,那么既然在后台运行,为的就是尽量不占用当前操作空间,用户可能...

    Android仿QQ在状态栏显示登录状态效果

    过一段时间后该通知消失,同时在状态栏上显示代表该登录状态的图标(如图) 将状态栏下拉可以看到状态的详细信息(如图) 单击”更改登录状态”按钮,将显示通知列表。单击”退出”按钮,可以删除该通知。 具体实现...

    Android_UI设计指南.pdf

    状态栏图标用于应用程序在状态栏中的通知。 Tab图标 Tab 图标用来表示在一个多选项卡界面的各个选项的图形元素。 对话框图标 对话框图标是在弹出框中显示,增加互动性。 列表视图图标 使用列表视图图标是用图形表示...

    8天快速掌握Android教程源码

    52_发送状态栏通知.avi 所在项目:Notification 53_采用网页设计软件界面.avi 所在项目:htmlUI 54_tween动画.avi 所在项目:tween 55_frame动画的实现.avi 所在项目:frameAnimation 56_activity切换动画与页面...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    5.8 状态栏的图标与文字提醒——NotificationManager与Notification对象的应用 5.9 搜索手机通讯录自动完成——使用ContentResolver 5.10 取得联系人资料——Provider.Contact的使用 5.11 制作有图标的文件资源管理...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    5.8 状态栏的图标与文字提醒——NotificationManager与Notification对象的应用 5.9 搜索手机通讯录自动完成——使用ContentResolver 5.10 取得联系人资料——Provider.Contact的使用 5.11 制作有图标的文件资源管理...

    android开发demo集合

    19、Notification 状态栏通知 20、GridView、ImageSwitcher 21、SmsManager 消息管理器,发短信(这里是模拟器只能给其它模拟器发短信) 22、Intent Action、Category属性 测试 23、系统 Action、Category属性 24...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    5.8 状态栏的图标与文字提醒——NotificationManager与Notification对象的应用 5.9 搜索手机通讯录自动完成——使用ContentResolver 5.10 取得联系人资料——Provider.Contact的使用 5.11 制作有图标的文件资源管理...

    安卓手机java源码阅读器-android-cheat:数十个最小的Android演示应用程序,每个应用程序都是一个AndroidAPI概念的

    状态栏 屏幕最上面的栏,包含几个图标,如信号。 锁屏 当您按下电源按钮时所看到的。 锁屏小部件 显然在 Android 5 中删除了。 吐司 通知历史 通知 将数据传输到 SD 卡通知 禁用: 应用程序更新通知 禁用: 新的语音...

    android开发秘籍

    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...

    femis-open-player:适用于 Android 的开源音频播放器

    状态栏通知,带播放控件 锁定屏幕小部件 - 在设备锁定时控制您的歌曲 插入/取出耳机时自动检测 版本和设备支持 在联想、三星和 Techno 设备上进行了测试。 我相信它应该适用于大多数运行 Android API Level 3 ...

    传智播客的android开发源代码

    52_发送状态栏通知.avi 所在项目:Notification 53_采用网页设计软件界面.avi 所在项目:htmlUI 54_tween动画.avi 所在项目:tween 55_frame动画的实现.avi 所在项目:frameAnimation 56_activity切换动画与页面...

    《Google Android SDK开发范例大全(第3版)》.pdf

    5.8 状态栏的图标与文字提醒 200 5.9 搜索手机通讯录自动完成 203 5.10 取得联系人资料 207 5.11 制作有图标的文件资源管理器 210 5.12 还原手机默认桌面 215 5.13 置换手机后台图 217 5.14 获取...

    android初学者入门项目

    19、Notification 状态栏通知 20、GridView、ImageSwitcher 21、SmsManager 消息管理器,发短信(这里是模拟器只能给其它模拟器发短信) 22、Intent Action、Category属性 测试 23、系统 Action、Category属性 24...

    Google Android SDK开发范例大全(第3版) 1/5

    5.8 状态栏的图标与文字提醒 5.9 搜索手机通讯录自动完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌面 5.13 置换手机后台图 5.14 获取手机现存桌面 5.15 文件资源管理器再进化 5.16...

Global site tag (gtag.js) - Google Analytics