public static class Notification.Builder
extends Object
java.lang.Object | |
↳ | android.app.Notification.Builder |
Notification
对象的生成器类。 提供一种方便的方式来设置Notification
的各个字段并使用平台的通知布局模板生成内容视图。 如果您的应用支持与API级别4一样旧的Android版本,则可以改为使用NotificationCompat.Builder
中的NotificationCompat.Builder 。
例:
Notification noti = new Notification.Builder(mContext) .setContentTitle("New mail from " + sender.toString()) .setContentText(subject) .setSmallIcon(R.drawable.new_mail) .setLargeIcon(aBitmap) .build();
Public constructors |
||||||
---|---|---|---|---|---|---|
Notification.Builder(Context context) 用默认值构造一个新的Builder:
|
Inherited methods |
|
---|---|
From class java.lang.Object
|
Notification.Builder (Context context)
用默认值构造一个新的Builder:
priority | PRIORITY_DEFAULT |
---|---|
when | now (currentTimeMillis() ) |
audio stream | STREAM_DEFAULT |
Parameters | |
---|---|
context |
Context : A Context that will be used by the Builder to construct the RemoteViews. The Context will not be held past the lifetime of this Builder object. |
Notification.Builder addAction (int icon, CharSequence title, PendingIntent intent)
此方法在API级别23中已弃用。
改为使用addAction(Action)
。
向此通知添加一个操作。 操作通常由系统显示为与通知内容相邻的按钮。
每个动作必须有一个图标(32dp正方形并与 Holo Dark action bar视觉样式相匹配),文本标签和 PendingIntent
。
以展开形式显示的通知最多可以显示3个操作,从左到右依次添加。 但是,在通知崩溃时,操作不会显示,因此请确保用户以其他方式访问任何基本功能(例如, contentIntent
指向的活动)。
Parameters | |
---|---|
icon |
int : Resource ID of a drawable that represents the action. |
title |
CharSequence : Text describing the action. |
intent |
PendingIntent : PendingIntent to be fired when the action is invoked. |
Returns | |
---|---|
Notification.Builder |
Notification.Builder addAction (Notification.Action action)
向此通知添加一个操作。 操作通常由系统显示为与通知内容相邻的按钮。
每个动作都必须有一个图标(32dp正方形并与 Holo Dark action bar视觉样式相匹配),文本标签和 PendingIntent
。
以展开形式显示的通知最多可以显示3个操作,从左到右依次添加。 但是,当通知崩溃时,操作将不会显示,因此请确保用户以其他方式访问任何基本功能(例如,在contentIntent
指向的活动中)。
Parameters | |
---|---|
action |
Notification.Action : The action to add. |
Returns | |
---|---|
Notification.Builder |
Notification.Builder addExtras (Bundle extras)
将其他元数据合并到此通知中。
Bundle中的值将替换此Builder中现有的额外值。
Parameters | |
---|---|
extras |
Bundle
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder addPerson (String uri)
添加与此通知相关的人员。
根据用户偏好,此注释可能允许通知通过中断过滤器,并在用户界面中更突出显示。
这个人应该由指定 String
一个代表性 CONTENT_LOOKUP_URI
。
系统还将尝试解析mailto:
和tel:
模式URI。 这些URI的路径部分必须存在于联系人数据库中适当的列中,否则引用将被废弃为无效。 电话架构URI将由ContactsContract.PhoneLookup
解决。
Parameters | |
---|---|
uri |
String : A URI for the person. |
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification build ()
组合所有已设置的选项并返回一个新的 Notification
对象。
Returns | |
---|---|
Notification |
RemoteViews createBigContentView ()
构建最终大通知布局的RemoteViews。
Returns | |
---|---|
RemoteViews |
RemoteViews createContentView ()
构建最终1U通知布局的RemoteViews。 按顺序:1.从调用者自定义contentView 2.样式的建议内容视图3.标准模板视图
Returns | |
---|---|
RemoteViews |
RemoteViews createHeadsUpContentView ()
构建最终抬头通知布局的RemoteViews。
Returns | |
---|---|
RemoteViews |
Notification.Builder extend (Notification.Extender extender)
将扩展器应用于此通知构建器。 扩展器可用于在此构建器上添加元数据或更改选项。
Parameters | |
---|---|
extender |
Notification.Extender
|
Returns | |
---|---|
Notification.Builder |
Bundle getExtras ()
获取此通知构建器使用的当前元数据包。
返回的Bundle与此Builder共享。
每次调用 build()
,该Bundle的当前内容都会复制到通知中。
Returns | |
---|---|
Bundle |
也可以看看:
Notification getNotification ()
此方法在API级别16中已被弃用。
改为使用build()
。
Returns | |
---|---|
Notification |
Notification.Builder recoverBuilder (Context context, Notification n)
从现有的通知中创建一个Builder,以便进行进一步的更改。
Parameters | |
---|---|
context |
Context : The context for your application / activity. |
n |
Notification : The notification to create a Builder from. |
Returns | |
---|---|
Notification.Builder |
Notification.Builder setActions (Action... actions)
修改附加到此通知的完整操作列表。
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setAutoCancel (boolean autoCancel)
当用户触摸该通知时,自动解除该通知。 PendingIntent设置为setDeleteIntent(PendingIntent)
将在发生这种情况时发送。
Parameters | |
---|---|
autoCancel |
boolean
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setCategory (String category)
设置通知类别。
Parameters | |
---|---|
category |
String
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setChronometerCountDown (boolean countDown)
将计时器设置为倒数而不是倒数。
这仅在setUsesChronometer(boolean)
设置为true时才setUsesChronometer(boolean)
。 如果没有设置,精密计时器将计数。
Parameters | |
---|---|
countDown |
boolean
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setColor (int argb)
套 color
。
Parameters | |
---|---|
argb |
int : The accent color to use |
Returns | |
---|---|
Notification.Builder |
The same Builder. |
Notification.Builder setContent (RemoteViews views)
提供一个自定义的RemoteViews来代替平台模板。 改为使用setCustomContentView(RemoteViews)
。
Parameters | |
---|---|
views |
RemoteViews
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setContentInfo (CharSequence info)
此方法在API级别24中已弃用。
改为使用setSubText(CharSequence)
在标题中设置文本。 对于定位到N
以下版本的旧版应用,此字段仍会显示,但子文本将优先。
有关此通知的一小部分额外信息。 平台模板将在最右边的通知的最后一行(如果放置在那里的小型图标的右侧)绘制该图标。
Parameters | |
---|---|
info |
CharSequence
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setContentIntent (PendingIntent intent)
提供单击通知时要发送的PendingIntent
。 从HONEYCOMB
,如果未设置此字段并且您已指定setContent(RemoteViews)
的自定义RemoteView, setContent(RemoteViews)
可以使用RemoteViews.setOnClickPendingIntent(int,PendingIntent)
将PendingIntents分配给该自定义布局中的各个视图(即,在通知视图内创建可点击的按钮)。
Parameters | |
---|---|
intent |
PendingIntent
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setContentText (CharSequence text)
在平台通知模板中设置第二行文字。
Parameters | |
---|---|
text |
CharSequence
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setContentTitle (CharSequence title)
在平台通知模板中设置第一行文字。
Parameters | |
---|---|
title |
CharSequence
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setCustomBigContentView (RemoteViews contentView)
提供自定义RemoteViews,以代替展开形式的平台模板。 这将覆盖本构建器对象构建的扩展布局。
Parameters | |
---|---|
contentView |
RemoteViews
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setCustomContentView (RemoteViews contentView)
提供使用自定义RemoteViews来代替平台模板。 这将覆盖本构建器对象构建的布局。
Parameters | |
---|---|
contentView |
RemoteViews
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setCustomHeadsUpContentView (RemoteViews contentView)
提供自定义RemoteViews,以便在抬头对话框中使用而不是平台模板。 这将覆盖否则将由此Builder对象构建的抬头布局。
Parameters | |
---|---|
contentView |
RemoteViews
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setDefaults (int defaults)
设置哪些通知属性将从系统默认值继承。
该值应为一个或多个以下的字段与按位或组合的: DEFAULT_SOUND
, DEFAULT_VIBRATE
, DEFAULT_LIGHTS
。
对于所有默认值,请使用 DEFAULT_ALL
。
Parameters | |
---|---|
defaults |
int
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setDeleteIntent (PendingIntent intent)
当通知被用户明确清除时,提供一个 PendingIntent
发送。
Parameters | |
---|---|
intent |
PendingIntent
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setExtras (Bundle extras)
为此通知设置元数据。
在Builder的整个生命周期中都会引用Bundle,并且每次调用 build()
,Bundle的当前内容都将被复制到Notification中。
将所有现有的额外值替换为提供的Bundle中的值。 改为使用addExtras(Bundle)
来合并元数据。
Parameters | |
---|---|
extras |
Bundle
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setFullScreenIntent (PendingIntent intent, boolean highPriority)
意图启动而不是将通知发布到状态栏。 仅用于需要用户立即关注的极高优先级通知,例如用户明确设置为特定时间的来电或闹钟。 如果此设施用于其他用途,请给用户一个关闭它并使用正常通知的选项,因为这可能会造成极大的干扰。
在用户使用该设备时,系统UI可以选择显示抬头通知,而不是启动该意图。
Parameters | |
---|---|
intent |
PendingIntent : The pending intent to launch. |
highPriority |
boolean : Passing true will cause this notification to be sent even if other notifications are suppressed. |
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setGroup (String groupKey)
将此通知设置为共享相同密钥的一组通知的一部分。 分组通知可以显示在支持这种呈现的设备上的群集或堆栈中。
要将此通知作为其小组的摘要,也请致电setGroupSummary(boolean)
。 可以通过使用setSortKey(String)
为组成员指定排序顺序。
Parameters | |
---|---|
groupKey |
String : The group key of the group. |
Returns | |
---|---|
Notification.Builder |
this object for method chaining |
Notification.Builder setGroupSummary (boolean isGroupSummary)
将此通知设置为一组通知的组摘要。 分组通知可以显示在支持这种呈现的设备上的群集或堆栈中。 还需要使用setGroup(String)
来设置组密钥。
Parameters | |
---|---|
isGroupSummary |
boolean : Whether this notification should be a group summary. |
Returns | |
---|---|
Notification.Builder |
this object for method chaining |
Notification.Builder setLargeIcon (Bitmap b)
将大图标添加到通知内容视图。 在平台模板中,此图片将显示在通知视图的左侧,代替small icon
(将放置在大图标顶部的小徽章中)。
Parameters | |
---|---|
b |
Bitmap
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setLargeIcon (Icon icon)
将大图标添加到通知内容视图。 在平台模板中,此图片将显示在通知视图的左侧,代替small icon
(将放置在大图标顶部的小徽章中)。
Parameters | |
---|---|
icon |
Icon
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setLights (int argb, int onMs, int offMs)
设置设备上指示灯的所需颜色以及闪烁占空比(以毫秒为单位)。 并非所有设备都会遵守这些值中的所有(甚至是任何)值。
Parameters | |
---|---|
argb |
int
|
onMs |
int
|
offMs |
int
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setLocalOnly (boolean localOnly)
设置此通知是否不能桥接到其他设备。
有些通知可以桥接到其他设备进行远程显示。 这个提示可以设置为推荐这个通知不被桥接。
Parameters | |
---|---|
localOnly |
boolean
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setNumber (int number)
此方法在API级别24中已弃用。
这个号码不再显示在任何地方
在通知的右侧设置大号。 这相当于setContentInfo,尽管它可能为了可读性而显示不同字体大小的数字。
Parameters | |
---|---|
number |
int
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setOngoing (boolean ongoing)
设置这是否是“正在进行中”的通知。 正在进行的通知不能被用户解雇,因此您的应用程序或服务必须注意取消它们。 它们通常用于指示用户主动参与的背景任务(例如播放音乐)或以某种方式未决,因此占用设备(例如,文件下载,同步操作,活动网络连接)。
Parameters | |
---|---|
ongoing |
boolean
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setOnlyAlertOnce (boolean onlyAlertOnce)
设置此标志,如果您只希望在通知尚未显示的情况下播放声音,振动和播报。
Parameters | |
---|---|
onlyAlertOnce |
boolean
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setPriority (int pri)
设置此通知的优先级。
Parameters | |
---|---|
pri |
int
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setProgress (int max, int progress, boolean indeterminate)
设置此通知代表的进度。 平台模板将使用ProgressBar
来表示这个。
Parameters | |
---|---|
max |
int
|
progress |
int
|
indeterminate |
boolean
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setPublicVersion (Notification n)
提供替换通知,其内容应显示在不安全的上下文中(即在安全锁屏上)。 见visibility
和VISIBILITY_PUBLIC
。
Parameters | |
---|---|
n |
Notification : A replacement notification, presumably with some or all info redacted. |
Returns | |
---|---|
Notification.Builder |
The same Builder. |
Notification.Builder setRemoteInputHistory (CharSequence[] text)
设置远程输入历史记录。 这应该设置为通过此通知的RemoteInput
发送的最近输入,并在其不再相关时清除(例如,一旦对方已响应,则发送聊天通知)。 最近的输入必须存储在0索引处,第一个索引处的第二个最近的输入等。请注意,系统将限制显示输入的多远以及显示每个输入的多少。
注意:回复文本只会显示在至少有一个动作为 RemoteInput
通知中。
Parameters | |
---|---|
text |
CharSequence
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setShowWhen (boolean show)
控制是否在内容视图中显示使用setWhen
设置的时间戳。 对于定位N
及以上的应用,默认为false
。 对于较早的应用程序,默认值为true
。
Parameters | |
---|---|
show |
boolean
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setSmallIcon (int icon, int level)
setSmallIcon(int)
的变体,当图标是 LevelListDrawable
时,需要额外的级别参数。
Parameters | |
---|---|
icon |
int : A resource ID in the application's package of the drawable to use. |
level |
int : The level to use for the icon. |
Returns | |
---|---|
Notification.Builder |
Notification.Builder setSmallIcon (int icon)
设置小图标资源,用于在状态栏中表示通知。 展开视图的平台模板将在左侧绘制此图标,除非已指定large icon
,此时小图标将移动到右侧。
Parameters | |
---|---|
icon |
int : A resource ID in the application's package of the drawable to use. |
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setSmallIcon (Icon icon)
设置小图标,用于在状态栏和内容视图中表示通知(除非由 large icon
覆盖)。
Parameters | |
---|---|
icon |
Icon : An Icon object to use. |
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setSortKey (String sortKey)
设置一个排序键,在同一个包中的其他通知中排列此通知。 如果已经应用了外部排序并且应用程序想要保留这一点,这可能很有用。 通知将按照字典顺序使用此值进行排序,但除了提供排序键之外,提供不同的优先级可能会导致忽略此值。
此排序关键字也可用于订购通知组的成员。 见setGroup(String)
。
Parameters | |
---|---|
sortKey |
String
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setSound (Uri sound, AudioAttributes audioAttributes)
设置要播放的声音以及在播放过程中使用的特定 audio attributes
。
嘈杂的通知更有可能作为单挑通知呈现。
Parameters | |
---|---|
sound |
Uri
|
audioAttributes |
AudioAttributes
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setSound (Uri sound)
设置声音播放。 它将使用default audio attributes
进行通知。
嘈杂的通知更有可能作为单挑通知呈现。
Parameters | |
---|---|
sound |
Uri
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setSound (Uri sound, int streamType)
此方法在API级别21中已弃用。
改为使用setSound(Uri, AudioAttributes)
。
设置要播放的声音以及播放它的特定流。 有关STREAM_
常量请参见AudioManager
。
嘈杂的通知更有可能作为单挑通知呈现。
Parameters | |
---|---|
sound |
Uri
|
streamType |
int
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setStyle (Notification.Style style)
添加丰富的通知样式,以便在构建时应用。
Parameters | |
---|---|
style |
Notification.Style : Object responsible for modifying the notification style. |
Returns | |
---|---|
Notification.Builder |
Notification.Builder setSubText (CharSequence text)
这提供了通知中显示的一些附加信息。 在确切显示的地方没有保证。
只有当这些信息为理解通知提供重要利益时才应该提供。 您提供的文字越多,其可读性就越差。 例如,如果添加了多个电子邮件帐户,则电子邮件客户端应只在此处提供帐户名称。
从N
此信息显示在通知标题区域中。 在N
之前的Android版本中,这将显示在平台通知模板的第三行文本中。 在这些版本中,您不应该同时使用setProgress(int, int, boolean)
; 他们占据了同一个地方。
Parameters | |
---|---|
text |
CharSequence
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setTicker (CharSequence tickerText, RemoteViews views)
已过时的版本 setTicker(CharSequence)
。
Parameters | |
---|---|
tickerText |
CharSequence
|
views |
RemoteViews
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setTicker (CharSequence tickerText)
设置发送到无障碍服务的“ticker”文本。
Parameters | |
---|---|
tickerText |
CharSequence
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setUsesChronometer (boolean b)
将when
字段显示为秒表。 when
不是将时间戳显示为when
,而是显示从when
自动更新分钟和秒数的when
。 显示经过时间(如正在进行的电话)时很有用。 计数器也可以设置倒计时到when
使用时setChronometerCountDown(boolean)
。
Parameters | |
---|---|
b |
boolean
|
Returns | |
---|---|
Notification.Builder |
Notification.Builder setVibrate (long[] pattern)
设置要使用的振动模式。 有关pattern
参数的讨论,请参阅vibrate(long[], int)
。
振动通知更有可能作为单挑通知呈现。
Parameters | |
---|---|
pattern |
long
|
Returns | |
---|---|
Notification.Builder |
也可以看看:
Notification.Builder setVisibility (int visibility)
指定 visibility
的值。
Parameters | |
---|---|
visibility |
int : One of VISIBILITY_PRIVATE (the default), VISIBILITY_SECRET , or VISIBILITY_PUBLIC . |
Returns | |
---|---|
Notification.Builder |
The same Builder. |
Notification.Builder setWhen (long when)
添加与通知有关的时间戳(通常是事件发生的时间)。 对于定位N
及以上的应用,默认情况下此时不再显示,必须选择使用setShowWhen(boolean)
Parameters | |
---|---|
when |
long
|
Returns | |
---|---|
Notification.Builder |
也可以看看: