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

转载 2012年03月28日 08:10:45

状态栏通知(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

privatestaticfinalint HELLO_ID =1;

mNotificationManager
.notify(HELLO_ID, notification);

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

相关文章推荐

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

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

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

创建定制化的通知布局 默认情况下,在通知窗口显示的通知包括标题和消息文本。这两项内容使用通过setLatestEventInfo()方法的contentTitle和contentText参数来定...

Android用户界面之notifaction(状态栏通知)

Android用户界面之notifaction(状态栏通知)

步步为营_Android开发课[21]_用户界面之Notification(通知栏)

Focus on technology, enjoy life!—— QQ:804212028 浏览链接:http://blog.csdn.net/y18334702058/article/det...

Android 用户界面---通知(Notifications)概要

有几种类型的场景可能会要求你把应用程序中发生的事件通知给用户。有些事件需要用户响应,而有些则不需要。例如: 1. 当像文件保存完成的一个事件发生时,就应该显示一个短消息,提示用户保存成功了。 2....

Android 用户界面---广播通知(Toast Notifications)

广播通知(Toast Notifications) 广播通知是在窗口表面弹出的一个消息。它只填充消息展现需要的空间,并且用户当前的Activity依然可见和可交互。通知自动的渐入渐出,不接受交互事件...

Android开发指南-用户界面-用户通知

通知用户Notifying the User 某些情况下需要通知用户你的应用程序中发生了一个事件。一些事件请求用户应答而另外一些则不需要。比如: ·         当一个事件比如保存文件结束时,...

Android用户界面

  • 2014年06月28日 23:25
  • 15KB
  • 下载

第四章_Android用户界面

  • 2011年08月10日 22:08
  • 1.99MB
  • 下载

Pro Android学习笔记(十八):用户界面和控制(6):Adapter和AdapterView

AdapterView不仅仅是UI,同时还将数据关联到UI上,例如在手机中经常使用的ListView就是AdapterView。 ListView、GridView、Spinner和Gallery都...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 用户界面---状态栏通知(一)
举报原因:
原因补充:

(最多只允许输入30个字)