`

Android:Notification和NotificationManager

阅读更多

1. NotificationManager和Notification用来设置通知。

    通知的设置等操作相对比较简单,基本的使用方式就是用新建一个Notification对象,然后设置好通知的各项参数,然后使用系统后台运行的NotificationManager服务将通知发出来。

基本步骤如下:

1)得到NotificationManager:

     String ns = Context.NOTIFICATION_SERVICE;

     NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

 

2)创建一个新的Notification对象:

     Notification notification = new Notification();

     notification.icon = R.drawable.notification_icon;

     也可以使用稍微复杂一些的方式创建Notification:

     int icon = R.drawable.notification_icon; //通知图标

     CharSequence tickerText = "Hello"; //状态栏(Status Bar)显示的通知文本提示

     long when = System.currentTimeMillis(); //通知产生的时间,会在通知信息里显示

     Notification notification = new Notification(icon, tickerText, when);

 

3)填充Notification的各个属性:

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

 

Notification提供了丰富的手机提示方式:

a)在状态栏(Status Bar)显示的通知文本提示,如:

     notification.tickerText = "hello";

 

b)发出提示音,如:

     notification.defaults |= Notification.DEFAULT_SOUND;

     notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3");

     notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");

 

c)手机振动,如:

     notification.defaults |= Notification.DEFAULT_VIBRATE;

     long[] vibrate = {0,100,200,300};

     notification.vibrate = vibrate;

 

d)LED灯闪烁,如:

     notification.defaults |= Notification.DEFAULT_LIGHTS;

     notification.ledARGB = 0xff00ff00;

     notification.ledOnMS = 300;

     notification.ledOffMS = 1000;

     notification.flags |= Notification.FLAG_SHOW_LIGHTS;

 

4)发送通知:

     private static final int ID_NOTIFICATION = 1;

     mNotificationManager.notify(ID_NOTIFICATION, notification);

 

2. 通知的更新

    如果需要更新一个通知,只需要在设置好notification之后,再调用setLatestEventInfo,然后重新发送一次通知即可。

 

3. 自定义通知视图

    这部分可以参考官方文档,讲的很详细了。

    AndroidSDK: docs/guide/topics/ui/notifiers/notifications.html

分享到:
评论

相关推荐

    android Notification通知消息学习(NotificationManager)

    这篇博文“android Notification通知消息学习(NotificationManager)”显然是探讨如何有效地利用NotificationManager来创建和管理Android的通知。NotificationManager是Android提供的一个系统服务,用于管理和显示...

    Android_Notification详细解读

    Notification 由三个主要类组成:Notification、NotificationManager 和 Notification.Builder。 一、Notification Notification 代表着一个通知,具有多个属性,包括: * audioStreamType:声音响起时所用的音频...

    Android实现Notification的通知栏常驻.zip

    4. **NotificationManager**: 使用系统的`NotificationManager`服务来发布和管理Notification。 二、创建Notification Channel ```java // 创建Channel NotificationChannel channel = new NotificationChannel...

    Android使用Notification在状态栏上显示通知

    在 Android 中,Notification 和 NotificationManager 是两个非常重要的组件,它们可以帮助开发者在状态栏上显示通知信息,以提醒用户一些重要的事情。通过使用 Notification 和 NotificationManager,开发者可以...

    Android中通过Notification&NotificationManager实现消息通知

    本教程将详细介绍如何利用Notification和NotificationManager在Android中实现消息通知。 首先,创建一个新的Android项目,确保设置的`minSdkVersion`为11,`targetSdkVersion`为19,这样可以保证应用兼容Android ...

    Android 之 Notification 通知消息

    Notification主要由三个核心组件构成:Notification.Builder、NotificationChannel(Android O及以上版本)和PendingIntent。创建一个简单的Notification通常需要以下步骤: 1. 创建Notification.Builder实例,设置...

    Android自定义Notification

    Android自定义Notification允许开发者根据自己的需求创建具有独特样式和行为的通知,以提高用户体验和应用的可识别性。 首先,我们来了解Notification的基本结构。一个Notification通常包括以下部分: 1. **通知...

    Notification与NotificationManager详细介绍

    NotificationManager:是状态栏通知的管理类,负责发通知、清楚通知等。 NotificationManager是一个系统Service,必须通过getSystemService()方法来获取。 NotificationManagernm=(NotificationManager)...

    Android编程开发之NotiFication用法详解

    在Android编程中,Notification是应用与用户交互的重要方式,即使应用在后台运行或者完全关闭,也能提醒用户有新的事件需要处理。...理解并熟练运用Notification的各种特性和最佳实践,是每个Android开发者必备的技能。

    android 8.0 notification 写法

    在Android 8.0(API级别26)中,通知系统经历了一次重大更新,引入了`NotificationChannel`的概念,以提供更好的用户控制和透明度。这个改变对开发者来说是必要的,因为旧的通知写法在新版本上不再有效。本文将深入...

    Android notification+Service实时更新

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

    Android开发 — 状态栏通知Notification、NotificationManager详解

    总之,Android状态栏通知通过`Notification`和`NotificationManager`来实现,它们提供了丰富的功能,如自定义图标、文本、声音、振动等,使得开发者能够创建出吸引用户注意力并能引导用户进行下一步操作的通知。...

    android notification完全解析Demo

    Notification具有优先级,可以根据重要性调整显示样式和行为。 二、Notification结构 一个Notification主要由以下几个部分组成: 1. 内容标题(title):简短描述通知的主要内容。 2. 内容文本(text):详细描述...

    android Notification详解

    BarManagerService 中对 ...Notification 的数据结构和功能处理流程展示了 Android 如何在系统层面上管理和呈现通知,以及如何与用户进行有效的交互。理解这一机制对于开发者优化用户体验和避免不必要的干扰至关重要。

    Android Notification更新

    自Android Oreo(8.0)以来,Notification有了更严格的管理和分组,每个通知必须归属于一个特定的`NotificationChannel`。创建`NotificationChannel`时,需指定ID、名称和重要性,例如: ```java ...

    Android应用源码之notification.zip

    - 在Android系统中,Notification通过NotificationManager服务进行管理,应用通过该服务发送和取消通知。 - 通知会出现在状态栏,当用户下拉时显示详细信息,点击可以启动对应的Activity或者执行预定义的动作。 2...

    详解Android中Notification通知提醒

    在本文中,我们将深入探讨如何在Android中创建和使用Notification,以及如何实现普通通知和自定义视图通知。 首先,创建一个Notification需要以下步骤: 1. 创建Notification.Builder对象:这是构建Notification的...

    安卓Android源码——实现Notification的通知栏常驻.zip

    首先,Notification在Android中是一个类,位于`android.app.Notification`包下,它用于在状态栏和通知中心展示信息。创建一个Notification通常涉及以下几个步骤: 1. **构建Notification对象**:使用`Notification....

Global site tag (gtag.js) - Google Analytics