`
zx273064010
  • 浏览: 15699 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

NotificationManager与Notification对象的应用

阅读更多

     在Android手机界面最上方有一条显示时间,信号强度和电池状态等信息的区域,这是Android手机的状态栏Status Bar,当系统有一些重要的信息要通知手机用户时,例如收到新短信,或者是收到新邮件,或者是有未接电话等等,系统通常会把信息显示在状态栏中,有的仅显 示小图片,有的则显示文字和小图片,用手指按住状态栏往下拉,还可以展开状态栏,查看所有系统发出的信息。

    在本范例中,要如何把提示信息放入状态栏,又要如何显示小图标呢??Android API为了管理提示信息,定义了一个NotificationManager(Android.app.NotificationManager),只要 将Notification添加到NotificationManager,即可将信息显示在状态栏中。

     本范例将模拟添加MSN在线状态的切换,在切换在线状态的同时,改变状态栏上显示的在线状态小图标,并以文字提示目前的状态为何。

 test.java

package com.allove;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class Test extends Activity {
private Spinner mSpinner;
private NotificationManager mNotificationManager;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mNotificationManager = (NotificationManager) this
.getSystemService(Service.NOTIFICATION_SERVICE);

mSpinner = (Spinner) this.findViewById(R.id.Spinner01);
mSpinner.setAdapter(new ArrayAdapter<String>(Test.this,
android.R.layout.simple_spinner_item, getResources()
.getStringArray(R.array.spiner_string)));
mSpinner
.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
switch (arg2) {
case 0:
setNotiType(R.drawable.msn, "在线");
break;
case 1:
setNotiType(R.drawable.away, "离开");
break;
case 2:
setNotiType(R.drawable.busy, "忙碌");
break;
case 3:
setNotiType(R.drawable.min, "马上回来");
break;
case 4:
setNotiType(R.drawable.offine, "离线");
break;
}
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}

protected void setNotiType(int iconId, String s) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(this, Test2.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent appIntent = PendingIntent.getActivity(this, 0, intent, 0);
Notification myNoti = new Notification();
myNoti.icon = iconId;
myNoti.tickerText = s;
myNoti.defaults = Notification.DEFAULT_SOUND;
myNoti.setLatestEventInfo(this, "MSN登陆状态", s, appIntent);
mNotificationManager.notify(0, myNoti);
}

分享到:
评论

相关推荐

    android 状态栏的图标与文字提醒 NotificationManager与Notification

    状态栏的图标与文字提醒功能主要由`NotificationManager`和`Notification`类共同实现。这两个类是Android SDK提供的重要组件,用于创建、管理和展示应用程序的通知。 首先,我们来详细了解一下`Notification`类。`...

    android Notification通知消息学习(NotificationManager)

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

    Android开发中的Notification应用

    最后,通过`build()`方法生成Notification对象,并使用NotificationManager发出通知: ```java NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); ...

    NotificationManager通知使用

    总之,`NotificationManager`是Android应用与用户进行非阻塞式通信的重要工具。通过正确使用`Notification`对象和`NotificationManager`,开发者可以创建出符合用户习惯的、高效的提醒机制。同时,理解其内部的工作...

    Android 在状态栏添加Notification信息图标及提示.rar

    //创建一个Notification对象  myNotification.icon=R.drawable.header;//Notification的图标  myNotification.tickerText=getResources().getString(R.string.notification);  myNotification.defaults=...

    Notification Demo

    在Android开发中,Notification是应用与用户交互的重要方式之一,特别是在后台运行时,它能向用户提供关键信息,而不会打扰到他们的主要活动。"Notification Demo"是一个示例项目,专门展示了如何在Android应用中...

    Android中Toast和Notification的应用.

    4. 通过`NotificationManager`发送`Notification`。 示例代码: ```java Context context = this; NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID) .setSmallIcon(R....

    android notification完全解析Demo

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

    Android应用源码之notification.zip

    在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使用户不在使用应用程序时也能提醒用户有新的事件发生。"Android应用源码之notification.zip"这个压缩包很可能是包含了关于...

    Android NOtification 使用

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

    android Notification详解

    在应用层,开发人员通过构建 `Notification` 对象并调用 `NotificationManager` 的 `notify()` 方法将其发布到系统。这通常涉及到设置通知的优先级、样式、颜色、声音和振动模式等。 Service 中的 Notification ...

    Notification

    1. **构建Notification对象**:使用`NotificationCompat.Builder`类创建`Notification`。这个类提供了许多设置选项,如标题、文本、图标、声音等。例如: ```java NotificationCompat.Builder builder = new ...

    Android_Notification详细解读

    在初始化 NotificationManager 对象时,需要使用 getSystemService(NOTIFICATION_SERVICE) 方法。 三、Notification.Builder Notification.Builder 是 Notification 的内部类,用于创建 Notification 对象。它提供...

    Notification与NotificationManager详细介绍

    启动`Notification`通常使用`NotificationManager`的`notify()`方法,传入唯一标识ID和`Notification`对象: ```java nm.notify(notificationId, notification); ``` 要更新一个已经存在的通知,可以使用`...

    Android新手之简单实现Notification

    在Android开发中,Notification是一种非常重要的用户界面组件,它能够在状态栏中显示消息,即使应用在后台运行或者被关闭,用户也能接收到相关信息。对于新手来说,理解并正确使用Notification是提升用户体验的关键...

    Notification实例

    在Android开发中,Notification是应用与用户交互的重要方式,它可以在状态栏中显示消息,即使应用在后台运行也能提醒用户。`Notification`实例是Android系统用于向用户展示应用通知的类,通过创建和管理`...

    service receiver notification播放器

    在Android中,Notification是应用与用户交互的一种方式,即使应用不在前台运行,用户也能通过通知栏了解应用的状态并进行操作。对于音乐播放器,Notification通常包含播放/暂停、上一曲/下一曲等控制按钮,使得用户...

    Notification顶部通知栏demo

    总之,`Notification`是Android应用与用户交互的重要方式,理解并熟练掌握`Notification`的使用,能帮助开发者创建更友好、功能丰富的应用程序。通过"Notification顶部通知栏demo"这样的实践项目,开发者可以更好地...

Global site tag (gtag.js) - Google Analytics