`

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

分享到:
评论

相关推荐

    Notification与NotificationManager详细介绍

    在Android系统中,发一个状态栏通知还是很方便的... NotificationManager是一个系统Service,必须通过getSystemService()方法来获取。 NotificationManagernm=(NotificationManager)getSystemService(NOTIFICATION_SERV

    android Notification通知消息学习(NotificationManager)

    8. **源码分析**: 文章提到的“源码”标签可能意味着作者深入解析了NotificationManager和Notification的相关源代码,这有助于开发者理解其工作原理并优化通知的使用。 9. **工具**: 可能是介绍了一些辅助工具或库...

    NotificationManager通知使用

    通过正确使用`Notification`对象和`NotificationManager`,开发者可以创建出符合用户习惯的、高效的提醒机制。同时,理解其内部的工作原理有助于优化通知的管理和呈现效果。对于Android开发者来说,深入学习和理解`...

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

    本文将详细介绍如何使用`Notification`和`NotificationManager`来创建、更新和管理状态栏通知。 首先,`NotificationManager`是用于管理状态栏通知的系统服务,它负责发送通知以及清除已发送的通知。获取`...

    Notification的用法和PendingIntent使用

    4. 发送通知:使用 `NotificationManager` 的 `notify` 方法发送通知,并指定发送信息的显示图标和 Notification 对象。 在上面的代码中,我们首先获得了系统通知服务的管理类 `NotificationManager`,然后实例化了...

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

    本教程将详细介绍如何利用Notification和NotificationManager在Android中创建各种类型的通知。 首先,为了实现通知功能,我们需要在AndroidManifest.xml文件中添加振动权限,因为通常情况下,通知会伴随振动或声音...

    Notification的使用示例各种效果

    使用`NotificationManager`的`notify()`方法显示通知,`cancel()`方法取消通知: ```java Notification notification = builder.build(); manager.notify(NOTIFICATION_ID, notification); // 取消通知 ...

    Android NOtification 使用

    使用Toast非常简单,只需通过`Toast.makeText()`方法创建一个Toast实例,设置要显示的文本和持续时间,然后调用`show()`方法即可展示。 ```java Toast textToast = Toast.makeText(this, "提示内容", Toast.LENGTH_...

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

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

    Notification

    在"疯狂Android中有关Notification的简单例子"这个主题中,我们将深入探讨`Notification`的基本概念、创建过程以及相关的使用技巧。 首先,我们要明白`Notification`的作用。在繁忙的手机屏幕上,`Notification`能...

    android Notification使用大全

    本文将深入探讨如何在Android中使用Notification,包括基本用法、自定义样式以及高级特性。 ### 1. Notification的基本结构 每个Notification由一个`NotificationCompat.Builder`构建,它包含以下核心组件: - `...

    notification各种使用

    在BroadcastReceiver的`onReceive()`方法中,创建Notification并使用`NotificationManager`的`notify()`方法发送出去。 同时,对于多通道支持,Android Oreo (8.0) 引入了Notification Channel的概念,要求开发者为...

    android Notification使用例子

    完成所有设置后,调用`build()`方法生成`Notification`对象,然后使用`NotificationManager`的`notify()`方法将其发送出去。 在Android 2.3中,你还需要考虑使用`NotificationManager`来管理通知。通过`...

    Android中使用Notification实现状态栏的通知

    在使用手机时,当有未接来电或者新短消息时,手机会给...使用Notification和NotificationManager类发送和显示通知也比较简单,大致可以分为以下四个步骤 (1)调用getSystemService() 方法获取系统的NotificationManag

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

    在使用手机时,当有未接来电或者是新短消息时,手机会给出...使用Notification和NotificationManager类发送和显示通知也比较简单,大致可分为以下4个步骤。 (1)调用getSystemService()方法获取系统的NotificationManag

    Android应用源码之notification.zip

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

    Android Notification的使用

    在发送通知时,通常会使用NotificationManager的notify方法,传入通知的ID和创建好的Notification对象。ID用于区分不同的通知,如果重复使用同一个ID,旧的通知会被新通知替换。 关于"工具"标签,可能指的是Android...

Global site tag (gtag.js) - Google Analytics