android-NotificationManager
NotificationManager
public class NotificationManager
extends Object
java.lang.Object | |
↳ | android.app.NotificationManager |
Class to notify the user of events that happen. This is how you tell the user that something has happened in the background.
Notifications can take different forms:
- A persistent icon that goes in the status bar and is accessible through the launcher, (when the user selects it, a designated Intent can be launched),
- Turning on or flashing LEDs on the device, or
- Alerting the user by flashing the backlight, playing a sound, or vibrating.
Each of the notify methods takes an int id parameter and optionally a String
tag parameter, which may be null
. These parameters are used to form a pair (tag, id), or (null
, id) if tag is unspecified. This pair identifies this notification from your app to the system, so that pair should be unique within your app. If you call one of the notify methods with a (tag, id) pair that is currently active and a new set of notification parameters, it will be updated. For example, if you pass a new status bar icon, the old icon in the status bar will be replaced with the new one. This is also the same tag and id you pass to the cancel(int)
or cancel(String, int)
method to clear this notification.
You do not instantiate this class directly; instead, retrieve it through getSystemService(Class)
.
Developer Guides
For a guide to creating notifications, read the Status Bar Notifications developer guide.
See also:
Notification
getSystemService(Class)
Summary
Nested classes | |
---|---|
class | NotificationManager.Policy Notification policy configuration. |
Constants | |
---|---|
String | ACTION_INTERRUPTION_FILTER_CHANGED Intent that is broadcast when the state of getCurrentInterruptionFilter() changes. |
String | ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED Intent that is broadcast when the state of |
String | ACTION_NOTIFICATION_POLICY_CHANGED Intent that is broadcast when the state of getNotificationPolicy() changes. |
int | IMPORTANCE_DEFAULT Default notification importance: shows everywhere, allowed to makes noise, but does not visually intrude. |
int | IMPORTANCE_HIGH Higher notification importance: shows everywhere, allowed to makes noise and peek. |
int | IMPORTANCE_LOW Low notification importance: shows everywhere, but is not intrusive. |
int | IMPORTANCE_MAX Highest notification importance: shows everywhere, allowed to makes noise, peek, and use full screen intents. |
int | IMPORTANCE_MIN Min notification importance: only shows in the shade, below the fold. |
int | IMPORTANCE_NONE A notification with no importance: shows nowhere, is blocked. |
int | IMPORTANCE_UNSPECIFIED Value signifying that the user has not expressed an importance. |
int | INTERRUPTION_FILTER_ALARMS
|
int | INTERRUPTION_FILTER_ALL
|
int | INTERRUPTION_FILTER_NONE
|
int | INTERRUPTION_FILTER_PRIORITY
|
int | INTERRUPTION_FILTER_UNKNOWN
|
Public methods | |
---|---|
String | addAutomaticZenRule(AutomaticZenRule automaticZenRule) Creates the given zen rule. |
boolean | areNotificationsEnabled() Returns whether notifications from the calling package are blocked. |
void | cancel(String tag, int id) Cancel a previously shown notification. |
void | cancel(int id) Cancel a previously shown notification. |
void | cancelAll() Cancel all previously shown notifications. |
StatusBarNotification[] | getActiveNotifications() Recover a list of active notifications: ones that have been posted by the calling app that have not yet been dismissed by the user or |
AutomaticZenRule | getAutomaticZenRule(String id) Returns the AutomaticZenRule with the given id, if it exists and the caller has access. |
Map | getAutomaticZenRules() Returns AutomaticZenRules owned by the caller. |
final int | getCurrentInterruptionFilter() Gets the current notification interruption filter. |
int | getImportance() Returns the user specified importance for notifications from the calling package. |
NotificationManager.Policy | getNotificationPolicy() Gets the current notification policy. |
boolean | isNotificationPolicyAccessGranted() Checks the ability to read/modify notification policy for the calling package. |
void | notify(String tag, int id, Notification notification) Post a notification to be shown in the status bar. |
void | notify(int id, Notification notification) Post a notification to be shown in the status bar. |
boolean | removeAutomaticZenRule(String id) Deletes the automatic zen rule with the given id. |
final void | setInterruptionFilter(int interruptionFilter) Sets the current notification interruption filter. |
void | setNotificationPolicy(NotificationManager.Policy policy) Sets the current notification policy. |
boolean | updateAutomaticZenRule(String id, AutomaticZenRule automaticZenRule) Updates the given zen rule. |
Inherited methods | |
---|---|
From class java.lang.Object |
Constants
ACTION_INTERRUPTION_FILTER_CHANGED
Added in API level 23String ACTION_INTERRUPTION_FILTER_CHANGED
Intent that is broadcast when the state of getCurrentInterruptionFilter() changes. This broadcast is only sent to registered receivers.
Constant Value: "android.app.action.INTERRUPTION_FILTER_CHANGED"
ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED
Added in API level 23String ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED
Intent that is broadcast when the state of isNotificationPolicyAccessGranted()
changes. This broadcast is only sent to registered receivers, and only to the apps that have changed.
Constant Value: "android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED"
ACTION_NOTIFICATION_POLICY_CHANGED
Added in API level 23String ACTION_NOTIFICATION_POLICY_CHANGED
Intent that is broadcast when the state of getNotificationPolicy() changes. This broadcast is only sent to registered receivers.
Constant Value: "android.app.action.NOTIFICATION_POLICY_CHANGED"
IMPORTANCE_DEFAULT
Added in API level 24int IMPORTANCE_DEFAULT
Default notification importance: shows everywhere, allowed to makes noise, but does not visually intrude.
Constant Value: 3 (0x00000003)
IMPORTANCE_HIGH
Added in API level 24int IMPORTANCE_HIGH
Higher notification importance: shows everywhere, allowed to makes noise and peek.
Constant Value: 4 (0x00000004)
IMPORTANCE_LOW
Added in API level 24int IMPORTANCE_LOW
Low notification importance: shows everywhere, but is not intrusive.
Constant Value: 2 (0x00000002)
IMPORTANCE_MAX
Added in API level 24int IMPORTANCE_MAX
Highest notification importance: shows everywhere, allowed to makes noise, peek, and use full screen intents.
Constant Value: 5 (0x00000005)
IMPORTANCE_MIN
Added in API level 24int IMPORTANCE_MIN
Min notification importance: only shows in the shade, below the fold.
Constant Value: 1 (0x00000001)
IMPORTANCE_NONE
Added in API level 24int IMPORTANCE_NONE
A notification with no importance: shows nowhere, is blocked.
Constant Value: 0 (0x00000000)
IMPORTANCE_UNSPECIFIED
Added in API level 24int IMPORTANCE_UNSPECIFIED
Value signifying that the user has not expressed an importance. This value is for persisting preferences, and should never be associated with an actual notification.
Constant Value: -1000 (0xfffffc18)
INTERRUPTION_FILTER_ALARMS
Added in API level 23int INTERRUPTION_FILTER_ALARMS
Interruption filter
constant - Alarms only interruption filter - all notifications except those of category CATEGORY_ALARM
are suppressed. Some audio streams are muted.
Constant Value: 4 (0x00000004)
INTERRUPTION_FILTER_ALL
Added in API level 23int INTERRUPTION_FILTER_ALL
Interruption filter
constant - Normal interruption filter - no notifications are suppressed.
Constant Value: 1 (0x00000001)
INTERRUPTION_FILTER_NONE
Added in API level 23int INTERRUPTION_FILTER_NONE
Interruption filter
constant - No interruptions filter - all notifications are suppressed and all audio streams (except those used for phone calls) and vibrations are muted.
Constant Value: 3 (0x00000003)
INTERRUPTION_FILTER_PRIORITY
Added in API level 23int INTERRUPTION_FILTER_PRIORITY
Interruption filter
constant - Priority interruption filter - all notifications are suppressed except those that match the priority criteria. Some audio streams are muted. See priorityCallSenders
, priorityCategories
, priorityMessageSenders
to define or query this criteria. Users can additionally specify packages that can bypass this interruption filter.
Constant Value: 2 (0x00000002)
INTERRUPTION_FILTER_UNKNOWN
Added in API level 23int INTERRUPTION_FILTER_UNKNOWN
Interruption filter
constant - returned when the value is unavailable for any reason.
Constant Value: 0 (0x00000000)
Public methods
addAutomaticZenRule
Added in API level 24String addAutomaticZenRule (AutomaticZenRule automaticZenRule)
Creates the given zen rule.
Throws a SecurityException if policy access is granted to this package. See isNotificationPolicyAccessGranted()
.
Parameters | |
---|---|
automaticZenRule | AutomaticZenRule : the rule to create. |
Returns | |
---|---|
String | The id of the newly created rule; null if the rule could not be created. |
areNotificationsEnabled
Added in API level 24boolean areNotificationsEnabled ()
Returns whether notifications from the calling package are blocked.
Returns | |
---|---|
boolean |
cancel
Added in API level 5void cancel (String tag, int id)
Cancel a previously shown notification. If it's transient, the view will be hidden. If it's persistent, it will be removed from the status bar.
Parameters | |
---|---|
tag | String |
id | int |
cancel
Added in API level 1void cancel (int id)
Cancel a previously shown notification. If it's transient, the view will be hidden. If it's persistent, it will be removed from the status bar.
Parameters | |
---|---|
id | int |
cancelAll
Added in API level 1void cancelAll ()
Cancel all previously shown notifications. See cancel(int)
for the detailed behavior.
getActiveNotifications
Added in API level 23StatusBarNotification[] getActiveNotifications ()
Recover a list of active notifications: ones that have been posted by the calling app that have not yet been dismissed by the user or cancel(String, int)
ed by the app. Each notification is embedded in a StatusBarNotification
object, including the original tag
and id
supplied to notify()
(via getTag()
and getId()
) as well as a copy of the original Notification
object (via getNotification()
).
Returns | |
---|---|
StatusBarNotification[] | An array of StatusBarNotification . |
getAutomaticZenRule
Added in API level 24AutomaticZenRule getAutomaticZenRule (String id)
Returns the AutomaticZenRule with the given id, if it exists and the caller has access.
Throws a SecurityException if policy access is granted to this package. See isNotificationPolicyAccessGranted()
.
Returns null if there are no zen rules that match the given id, or if the calling package doesn't own the matching rule. See getOwner()
.
Parameters | |
---|---|
id | String |
Returns | |
---|---|
AutomaticZenRule |
getAutomaticZenRules
Added in API level 24MapgetAutomaticZenRules ()
Returns AutomaticZenRules owned by the caller.
Throws a SecurityException if policy access is granted to this package. See isNotificationPolicyAccessGranted()
.
Returns | |
---|---|
Map |
getCurrentInterruptionFilter
Added in API level 23int getCurrentInterruptionFilter ()
Gets the current notification interruption filter.
The interruption filter defines which notifications are allowed to interrupt the user (e.g. via sound & vibration) and is applied globally.
Returns | |
---|---|
int | One of the INTERRUPTION_FILTER_ constants, or INTERRUPTION_FILTER_UNKNOWN when unavailable. |
getImportance
Added in API level 24int getImportance ()
Returns the user specified importance for notifications from the calling package.
Returns | |
---|---|
int | An importance level, such as IMPORTANCE_DEFAULT . |
getNotificationPolicy
Added in API level 23NotificationManager.Policy getNotificationPolicy ()
Gets the current notification policy.
Only available if policy access is granted to this package. See isNotificationPolicyAccessGranted()
.
Returns | |
---|---|
NotificationManager.Policy |
isNotificationPolicyAccessGranted
Added in API level 23boolean isNotificationPolicyAccessGranted ()
Checks the ability to read/modify notification policy for the calling package.
Returns true if the calling package can read/modify notification policy.
Request policy access by sending the user to the activity that matches the system intent action ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS
.
Use ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED
to listen for user grant or denial of this access.
Returns | |
---|---|
boolean |
notify
Added in API level 5void notify (String tag, int id, Notification notification)
Post a notification to be shown in the status bar. If a notification with the same tag and id has already been posted by your application and has not yet been canceled, it will be replaced by the updated information.
Parameters | |
---|---|
tag | String : A string identifier for this notification. May be null . |
id | int : An identifier for this notification. The pair (tag, id) must be unique within your application. |
notification | Notification : A Notification object describing what to show the user. Must not be null. |
notify
Added in API level 1void notify (int id, Notification notification)
Post a notification to be shown in the status bar. If a notification with the same id has already been posted by your application and has not yet been canceled, it will be replaced by the updated information.
Parameters | |
---|---|
id | int : An identifier for this notification unique within your application. |
notification | Notification : A Notification object describing what to show the user. Must not be null. |
removeAutomaticZenRule
Added in API level 24boolean removeAutomaticZenRule (String id)
Deletes the automatic zen rule with the given id.
Throws a SecurityException if policy access is granted to this package. See isNotificationPolicyAccessGranted()
.
Callers can only delete rules that they own. See getOwner()
.
Parameters | |
---|---|
id | String : the id of the rule to delete. |
Returns | |
---|---|
boolean | Whether the rule was successfully deleted. |
setInterruptionFilter
Added in API level 23void setInterruptionFilter (int interruptionFilter)
Sets the current notification interruption filter.
The interruption filter defines which notifications are allowed to interrupt the user (e.g. via sound & vibration) and is applied globally.
Parameters | |
---|---|
interruptionFilter | int |
Returns | |
---|---|
void | One of the INTERRUPTION_FILTER_ constants, or INTERRUPTION_FILTER_UNKNOWN when unavailable. Only available if policy access is granted to this package. See |
setNotificationPolicy
Added in API level 23void setNotificationPolicy (NotificationManager.Policy policy)
Sets the current notification policy.
Only available if policy access is granted to this package. See isNotificationPolicyAccessGranted()
.
Parameters | |
---|---|
policy | NotificationManager.Policy : The new desired policy. |
updateAutomaticZenRule
Added in API level 24boolean updateAutomaticZenRule (String id, AutomaticZenRule automaticZenRule)
Updates the given zen rule.
Throws a SecurityException if policy access is granted to this package. See isNotificationPolicyAccessGranted()
.
Callers can only update rules that they own. See getOwner()
.
Parameters | |
---|---|
id | String : The id of the rule to update |
automaticZenRule | AutomaticZenRule : the rule to update. |
Returns | |
---|---|
boolean | Whether the rule was successfully updated. |
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer