在Android系统中,发一个状态栏通知还是很方便的。下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置?
首先,发送一个状态栏通知必须用到两个类: NotificationManager 、Notification。
NotificationManager: 是状态栏通知的管理类,负责发通知、清楚通知等。
NotificationManager 是一个系统Service,必须通过getSystemService()方法来获取。
Notification:是具体的状态栏通知对象,可以设置icon、文字、提示声音、振动等等参数。
下面是设置一个通知需要的基本参数:
- An icon (通知的图标)
- A title and expanded message (通知的标题和内容)
- A
PendingIntent (点击通知执行页面跳转)
可选的设置:
- A ticker-text message (状态栏顶部提示消息)
- An alert sound (提示音)
- A vibrate setting (振动)
- A flashing LED setting (灯光)
- 等等
一、创建Notification
通过NotificationManager 的notify(int, Notification) 方法来启动Notification。
第一个参数唯一的标识该Notification,第二个参数就是Notification对象。
二、更新Notification
调用Notification的 setLatestEventInfo方法来更新内容,然后再调用NotificationManager的notify()方法即可。(具体可以看下面的实例)
三、删除Notification
通过NotificationManager 的cancel(int)方法,来清除某个通知。其中参数就是
Notification的唯一标识ID。
当然也可以通过cancelAll()来清除状态栏所有的通知。
四、Notification设置(振动、铃声等)
1. 基本设置:
配一张图作说明:

2. 添加声音
如果要采用默认声音,只要使用default就可以了。
如果要使用自定义声音,那么就要用到sound了。如下:
上面这种方法,使用的是自己的铃声,如果想用系统自带的铃声,可以这样:
需要注意一点,如果default、sound同时出现,那么sound无效,会使用默认铃声。
默认情况下,通知的声音播放一遍就会结束。 如果你想让声音循环播放,需要为flags参数加上FLAG_INSISTENT。 这样声音会到用户响应才结束,比如下拉状态栏。
3. 添加振动
如果是使用默认的振动方式,那么同样也是使用default。
当然也可以自己定义振动形式,这边需要用到Long型数组。
这边的Long型数组中,第一个参数是开始振动前等待的时间,第二个参数是第一次振动的时间,第三个参数是第二次振动的时间,以此类推,随便定义多长的数组。但是采用这种方法,没有办法做到重复振动。
同样,如果default、vibrate同时出现时,会采用默认形式。
另外还需要注意一点:使用振动器时需要权限,如下:
4. 闪光
使用默认的灯光,如下:
自定义:
其中ledARGB 表示灯光颜色、ledOnMS 亮持续时间、ledOffMS 暗的时间。
注意:这边的颜色跟设备有关,不是所有的颜色都可以,要看具体设备。
5.其他有用的设置:
flags:
Notification.FLAG_INSISTENT; //让声音、振动无限循环,直到用户响应
Notification.FLAG_AUTO_CANCEL; //通知被点击后,自动消失
Notification.FLAG_NO_CLEAR; //点击'Clear'时,不清楚该通知(QQ的通知无法清除,就是用的这个)
下面附上我做的例子,供大家参考。 里面包括创建通知、更新通知、清除通知、设置自定义铃声、自定义振动、自定义通知视图等。


附上代码:
主类:
主页面:
自定义视图页面:
就讲这么多。
分享到:
相关推荐
总之,Android状态栏通知通过`Notification`和`NotificationManager`来实现,它们提供了丰富的功能,如自定义图标、文本、声音、振动等,使得开发者能够创建出吸引用户注意力并能引导用户进行下一步操作的通知。...
Notification的主要功能是提供一种持久性的通知,用户可以在状态栏看到它,即使应用并未处于前台。它通常用于电话、短信、邮件和闹钟等场景,当有新消息时,会在状态栏显示图标,用户下拉状态栏即可查看详细信息并...
### Notification(状态栏通知)详解 #### 一、概述 `Notification`是Android系统中用于在状态栏显示消息提醒的一种机制。例如,当有未读的短信或未接来电时,状态栏会显示相应的提示信息;又或者是在离开某个应用...
Notification是Android系统提供的一种通知用户的应用程序事件的方式,它可以在状态栏中显示图标、文字,用户可以点击通知来执行相应的操作,如打开应用、启动活动等。Notification具有优先级,可以根据重要性调整...
当应用需要在后台告知用户某些事件的发生,如收到新消息、更新或者完成任务,Notification会在状态栏上显示图标,并且在用户下拉状态栏时提供详细信息。在本文中,我们将深入探讨如何在Android中创建和使用...
StatusBarManagerService 负责接收和处理来自应用的 Notification 请求,它将这些请求转化为 StatusBarNotification 对象,并更新状态栏的显示。同时,它还负责处理用户对状态栏通知的交互,如点击、清除等操作。 ...
Notification是Android系统提供的一种机制,用于在状态栏中显示信息,即使应用不在前台也能吸引用户的注意力。下面我们将详细讲解Android通知Notification,并给出实例代码。 1. **创建Notification** 创建...
当有新的通知时,Android 会在顶部状态栏显示一个小图标,用户可以通过下拉状态栏来查看和交互。下面是对 `Notification` 使用的详细讲解。 首先,创建一个 `Notification` 需要以下步骤: 1. 获取 `...
Notification是Android系统提供的一种机制,用于在状态栏显示提醒,即使应用不在前台运行也能与用户交互。本篇文章将深入解析Android开发中关于Notification的通知用法,包括其功能、参数、定义以及如何使用。 首先...
如何修改状态栏notification** - **链接**: [http://www.apkbus.com/android-5967-1-1.html](http://www.apkbus.com/android-5967-1-1.html) - **内容概述**: 该文章提供了具体的代码示例,展示了如何通过修改...
首先,Notification出现在设备的状态栏上,通常是一个小图标,当用户滑下状态栏时,会显示更详细的信息,如标题、内容以及可能的可操作选项。状态栏和通知栏是两个不同的概念:状态条是屏幕顶部固定的一行,显示各种...
1. 小图标:显示在状态栏中,通常代表应用的标识。 2. 内容标题:简短描述通知的主要内容。 3. 内容文本:详细说明通知的具体信息。 二、创建Notification 创建Notification主要通过`NotificationCompat.Builder`类...
在Android开发中,Notification是应用与用户交互的重要方式,它可以在状态栏中显示信息,即使应用不在前台运行也能提醒用户。本篇文章将详细介绍如何在Android 4.0及以上版本中使用Notification,以及如何处理兼容性...
通过以上步骤,我们就实现了在Android通知栏中显示进度条的功能。无论是确定的进度条还是不确定的活动指示器,都能帮助用户了解后台任务的状态,提供更好的用户体验。在实际开发中,可以根据具体需求调整和优化这个...
### ANDROID 状态栏及其通知应用详解 #### 一、概览 本篇文章将详细介绍 Android 系统中的状态栏(StatusBar)以及如何通过简单的代码实现自定义的通知(Notification)。状态栏是 Android 设备顶部的一个区域,它...
在Android应用开发中,Notification和NotificationManager是两个关键组件,用于在系统状态栏显示非侵入性的用户提醒。与AlertDialog不同,Notification不会打断用户的当前操作,而是以更温和的方式提供信息,用户...
2. 标题(Title):Notification的标题,用于显示在状态栏中。 3. 内容(Content):Notification的内容,用于显示在状态栏中。 4. 意图(Content Intent):用于打开应用程序或执行特定操作的意图。 5. 振动和声音...