鸿蒙OS NotificationSlot
NotificationSlot
java.lang.Object
|---ohos.event.notification.NotificationSlot
public final class NotificationSlot
extends Object
implements Sequenceable
定义了一个公共通知主题,它是一个包含通知音、振动、锁屏显示和级别的功能的集合。 您可以将这个类与一个应用程序关联起来,使应用程序发布的所有通知都具有通知主题的特性。
一个应用程序可以与一个或多个 NotificationSlot 实例相关联。
Since:
1
嵌套类摘要
从接口 ohos.utils.Sequenceable 继承的嵌套类/接口 |
---|
Sequenceable.ProducerT |
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
static int | LEVEL_DEFAULT | 表示开启通知功能,状态栏显示通知图标,不带横幅,但有提示音。 |
static int | LEVEL_HIGH | 表示开启通知功能,状态栏显示通知图标,带有横幅和提示音。 |
static int | LEVEL_LOW | 表示通知功能开启,状态栏显示通知图标,无横幅或提示音。 |
static int | LEVEL_MIN | 表示开启了通知功能,但状态栏中不显示通知图标,没有横幅或提示音。 |
static int | LEVEL_NONE | 表示通知功能已关闭。 |
static int | LEVEL_UNDEFINED | 表示用户未定义级别。 |
static Sequenceable.ProducerNotificationSlot | PRODUCER | 从 Parcel 创建一个 NotificationSlot 实例。 |
构造函数摘要
构造函数 | 描述 |
---|---|
NotificationSlot(String id, String name, int level) | 用于初始化 NotificationSlot 对象的 ID、名称和级别的构造函数。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
boolean | canEnableLight() | 获取NotificationSlot对象中是否开启通知灯,由setEnableLight(boolean)设置。 |
boolean | canVibrate() | 获取 NotificationSlot 对象的振动状态,由 setEnableVibration(boolean) 设置。 |
void | enableBadge(boolean isShowBadge) | 设置收到通知后是否在主屏幕上显示应用程序图标标记(应用程序图标角落的数字或点)。 |
void | enableBypassDnd(boolean bypassDnd) | 设置是否绕过系统中的请勿打扰 (DND) 模式。 |
String | getDescription() | 获取一个 NotificationSlot 对象的描述,由 setDescription(java.lang.String) 设置。 |
String | getId() | 获取 NotificationSlot 对象的 ID。 |
int | getLedLightColor() | 获取 NotificationSlot 对象中通知灯的颜色,由 setLedLightColor(int) 设置。 |
int | getLevel() | 获取 NotificationSlot 对象的级别,由 setLevel(int) 设置。 |
int | getLockscreenVisibleness() | 获取一个NotificationSlot对象在锁屏上的通知显示效果,由setLockscreenVisibleness(int)设置。 |
String | getName() | 获取 NotificationSlot 对象的名称。 |
String | getSlotGroup() | 获取该NotificationSlot对象所属的NotificationSlotGroup对象的ID,由setSlotGroup(java.lang.String)设置。 |
Uri | getSound() | 获取NotificationSlot对象的提示音,由setSound(ohos.utils.net.Uri)设置。 |
long[] | getVibrationStyle() | 获取此 NotificationSlot 中通知的振动样式。 |
boolean | isEnableBypassDnd() | 获取 NotificationSlot 对象是否绕过免打扰模式,由 enableBypassDnd(boolean) 设置。 |
boolean | isShowBadge() | 获取 NotificationSlot 对象的应用程序图标徽章状态,该状态由 enableBadge(boolean) 设置。 |
boolean | marshalling(Parcel out) | 将 NotificationSlot 对象编组到 Parcel 中。 |
void | setDescription(String description) | 设置 NotificationSlot 对象的描述。 |
void | setEnableLight(boolean isLightEnabled) | 指定在设备上收到通知时是否启用通知灯,前提是此设备有通知灯。 |
void | setEnableVibration(boolean vibration) | 设置是否在收到通知时启用振动。 |
void | setLedLightColor(int color) | 将通知灯的颜色设置为在设备上接收到通知时闪烁,前提是此设备具有通知灯并且使用值 true 调用 setEnableLight(boolean)。 |
void | setLevel(int level) | 设置 NotificationSlot 对象的级别。 |
void | setLockscreenVisibleness(int visibleness) | 设置是否以及如何在锁定屏幕上显示通知。 |
void | setName(String name) | 设置 NotificationSlot 对象的名称。 |
void | setSlotGroup(String groupId) | 将 NotificationSlot 对象绑定到指定的 NotificationSlotGroup。 |
void | setSound(Uri sound) | 为 NotificationSlot 对象设置提示音,在收到通知后播放。 |
void | setVibrationStyle(long[] vibrationValues) | 设置此 NotificationSlot 中通知的振动样式。 |
String | toString() | 返回对象的字符串表示形式。 |
boolean | unmarshalling(Parcel in) | 从 Parcel 中解组 NotificationSlot 对象。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
从接口 ohos.utils.Sequenceable 继承的方法 |
---|
hasFileDescriptor |
字段详细信息
LEVEL_DEFAULT
public static final int LEVEL_DEFAULT
表示开启通知功能,状态栏显示通知图标,不带横幅,但有提示音。
Since:
1
LEVEL_HIGH
public static final int LEVEL_HIGH
表示开启通知功能,状态栏显示通知图标,带有横幅和提示音。
Since:
1
LEVEL_LOW
public static final int LEVEL_LOW
表示通知功能开启,状态栏显示通知图标,无横幅或提示音。
Since:
1
LEVEL_MIN
public static final int LEVEL_MIN
表示开启了通知功能,但状态栏中不显示通知图标,没有横幅或提示音。
Since:
1
LEVEL_NONE
public static final int LEVEL_NONE
表示通知功能已关闭。
Since:
1
LEVEL_UNDEFINED
public static final int LEVEL_UNDEFINED
表示用户未定义级别。
这是一个保留的常量。 不要将其与任何通知相关联。
Since:
3
PRODUCER
public static final Sequenceable.ProducerNotificationSlot PRODUCER
从 Parcel 创建一个 NotificationSlot 实例。
Since:
4
构造函数详细信息
NotificationSlot
public NotificationSlot(String id, String name, int level)
用于初始化 NotificationSlot 对象的 ID、名称和级别的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
id | 指定 NotificationSlot 对象的 ID。 ID 必须是唯一的,并且它的长度不能超过 1000 个字符(超出的部分会被自动截断)。 |
name | 指定 NotificationSlot 对象的名称。 名称必须对用户可见,且长度不得超过 1000 个字符(超出部分会自动截断)。 |
level | 指定 NotificationSlot 对象的级别,决定通知的显示效果。 该值可以是 LEVEL_NONE、LEVEL_MIN、LEVEL_LOW、LEVEL_DEFAULT 或 LEVEL_HIGH。 |
Since:
1
方法详情
setLevel
public void setLevel(int level)
设置 NotificationSlot 对象的级别。
必须在调用 NotificationHelper#addNotificationSlot(NotificationSlot) 方法之前设置 setLevel(int level)。 否则,设置将不会生效。
参数:
参数名称 | 参数描述 |
---|---|
level | 指定 NotificationSlot 对象的级别,决定通知的显示效果。 该值可以是 LEVEL_NONE、LEVEL_MIN、LEVEL_LOW、LEVEL_DEFAULT 或 LEVEL_HIGH。 |
Since:
1
setName
public void setName(String name)
设置 NotificationSlot 对象的名称。
无论是否通过 NotificationHelper#addNotificationSlot(NotificationSlot) 创建了 NotificationSlot 对象,setName(String) 的设置都有效。
参数:
参数名称 | 参数描述 |
---|---|
name | 指定 NotificationSlot 对象的名称。 名称对用户可见,长度不得超过 1000 个字符(超出部分自动截断)。 |
Since:
1
setDescription
public void setDescription(String description)
设置 NotificationSlot 对象的描述。
无论是否通过 NotificationHelper#addNotificationSlot(NotificationSlot) 创建了 NotificationSlot 对象,setDescription(String) 的设置都有效。
参数:
参数名称 | 参数描述 |
---|---|
description | 描述 NotificationSlot 对象。 描述对用户可见,其长度不得超过 1000 个字符(超出部分将自动截断)。 |
Since:
1
enableBadge
public void enableBadge(boolean isShowBadge)
设置收到通知后是否在主屏幕上显示应用程序图标标记(应用程序图标角落的数字或点)。
enableBadge(boolean) 必须在调用 NotificationHelper#addNotificationSlot(NotificationSlot) 方法之前设置。 否则,设置将不会生效。
参数:
参数名称 | 参数描述 |
---|---|
isShowBadge | 指定是否显示应用程序图标标志。 如果该值为 true,则启用应用程序图标徽章; 如果值为 false,则禁用应用程序图标徽章。 |
Since:
1
enableBypassDnd
public void enableBypassDnd(boolean bypassDnd)
设置是否绕过系统中的请勿打扰 (DND) 模式。
enableBypassDnd(boolean)的设置只有在系统通知设置中为应用程序开启允许中断功能时才会生效。
参数:
参数名称 | 参数描述 |
---|---|
bypassDnd | 指定是否绕过应用程序的 DND 模式。 如果该值为 true,则绕过免打扰模式; 如果该值为 false,则不绕过 DND 模式。 |
Since:
1
setEnableVibration
public void setEnableVibration(boolean vibration)
设置是否在收到通知时启用振动。
必须在调用 NotificationHelper#addNotificationSlot(NotificationSlot) 方法之前设置 setEnableVibration(boolean)。 否则,设置将不会生效。
参数:
参数名称 | 参数描述 |
---|---|
vibration | 指示是否在收到通知时启用振动。 如果该值为true,则启用振动; 如果值为 false,则禁用振动。 |
Since:
1
setLockscreenVisibleness
public void setLockscreenVisibleness(int visibleness)
设置是否以及如何在锁定屏幕上显示通知。
此方法指定在锁定屏幕上显示通知的不同效果,以保护用户隐私。
该设置仅在系统通知设置中为应用程序开启锁屏通知功能时生效。
参数:
参数名称 | 参数描述 |
---|---|
visibleness | 指定锁屏上的通知显示效果,可以设置为 NotificationRequest#VISIBLENESS_TYPE_PUBLIC、NotificationRequest#VISIBLENESS_TYPE_PRIVATE 或 NotificationRequest#VISIBLENESS_TYPE_SECRET。 |
Since:
1
setSound
public void setSound(Uri sound)
为 NotificationSlot 对象设置提示音,在收到通知后播放。
必须在调用 NotificationHelper#addNotificationSlot(NotificationSlot) 方法之前设置 setSound(Uri)。 否则,设置将不会生效。
参数:
参数名称 | 参数描述 |
---|---|
sound | 指定提示音的路径。 |
Since:
1
setEnableLight
public void setEnableLight(boolean isLightEnabled)
指定在设备上收到通知时是否启用通知灯,前提是此设备有通知灯。
必须在调用 NotificationHelper#addNotificationSlot(NotificationSlot) 方法之前设置 setEnableLight(boolean)。 否则,设置将不会生效。
参数:
参数名称 | 参数描述 |
---|---|
isLightEnabled | 指定是否启用脉搏通知灯。 true 表示开启通知灯,false 表示不开启。 |
Since:
1
setLedLightColor
public void setLedLightColor(int color)
将通知灯的颜色设置为在设备上接收到通知时闪烁,前提是此设备具有通知灯并且使用值 true 调用 setEnableLight(boolean)。
必须在调用 NotificationHelper#addNotificationSlot(NotificationSlot) 方法之前设置 setLedLightColor(int)。 否则,设置将不会生效。
参数:
参数名称 | 参数描述 |
---|---|
color | 指示通知灯的颜色。 |
Since:
1
setSlotGroup
public void setSlotGroup(String groupId)
将 NotificationSlot 对象绑定到指定的 NotificationSlotGroup。
必须在调用 NotificationHelper#addNotificationSlot(NotificationSlot) 方法之前调用 setSlotGroup(String)。 否则,此方法不会生效。
参数:
参数名称 | 参数描述 |
---|---|
groupId | 表示要绑定的 NotificationSlotGroup 对象的 ID,必须是通过调用 NotificationHelper#addNotificationSlotGroup(NotificationSlotGroup) 创建的。 |
Since:
3
getId
public String getId()
获取 NotificationSlot 对象的 ID。
返回:
返回 NotificationSlot 对象的 ID,由 NotificationSlot(java.lang.String,java.lang.String,int) 设置。
Since:
1
getName
public String getName()
获取 NotificationSlot 对象的名称。
返回:
返回由 setName(java.lang.String) 设置的 NotificationSlot 对象的名称。
Since:
1
getDescription
public String getDescription()
获取一个 NotificationSlot 对象的描述,由 setDescription(java.lang.String) 设置。
返回:
返回 NotificationSlot 对象的描述。
Since:
1
getLevel
public int getLevel()
获取 NotificationSlot 对象的级别,由 setLevel(int) 设置。
返回:
返回 NotificationSlot 对象的级别。
Since:
1
isShowBadge
public boolean isShowBadge()
获取 NotificationSlot 对象的应用程序图标徽章状态,该状态由 enableBadge(boolean) 设置。
返回:
如果启用了应用程序图标徽章,则返回 true; 否则返回 false。
Since:
1
isEnableBypassDnd
public boolean isEnableBypassDnd()
获取 NotificationSlot 对象是否绕过免打扰模式,由 enableBypassDnd(boolean) 设置。
返回:
如果绕过 DND 模式,则返回 true; 否则返回 false。
Since:
1
canVibrate
public boolean canVibrate()
获取 NotificationSlot 对象的振动状态,由 setEnableVibration(boolean) 设置。
返回:
如果启用了振动,则返回 true; 否则返回 false。
Since:
1
getLockscreenVisibleness
public int getLockscreenVisibleness()
获取一个NotificationSlot对象在锁屏上的通知显示效果,由setLockscreenVisibleness(int)设置。
返回:
返回 NotificationSlot 对象在锁屏上的通知显示效果。
Since:
1
getSound
public Uri getSound()
获取NotificationSlot对象的提示音,由setSound(ohos.utils.net.Uri)设置。
返回:
返回 NotificationSlot 对象的提示音。
Since:
1
canEnableLight
public boolean canEnableLight()
获取NotificationSlot对象中是否开启通知灯,由setEnableLight(boolean)设置。
返回:
如果启用通知灯,则返回 true; 否则返回 false。
Since:
1
getLedLightColor
public int getLedLightColor()
获取 NotificationSlot 对象中通知灯的颜色,由 setLedLightColor(int) 设置。
返回:
返回通知灯的颜色。
Since:
1
getSlotGroup
public String getSlotGroup()
获取该NotificationSlot对象所属的NotificationSlotGroup对象的ID,由setSlotGroup(java.lang.String)设置。
返回:
返回此 NotificationSlot 对象所属的 NotificationSlotGroup 的 ID。
Since:
3
setVibrationStyle
public void setVibrationStyle(long[] vibrationValues)
设置此 NotificationSlot 中通知的振动样式。
如果将空数组或 null 传递给此方法,则系统将调用 setEnableVibration(boolean) 并将输入参数设置为 false。 如果将有效值传递给此方法,则系统调用 setEnableVibration(boolean) 并将输入参数设置为 true。 该方法仅在调用 NotificationHelper#addNotificationSlot(NotificationSlot) 之前生效。
参数:
参数名称 | 参数描述 |
---|---|
vibrationValues | 指示要设置的振动样式。 |
Since:
4
getVibrationStyle
public long[] getVibrationStyle()
获取此 NotificationSlot 中通知的振动样式。
返回:
返回此 NotificationSlot 的振动样式。
Since:
4
marshalling
public boolean marshalling(Parcel out)
将 NotificationSlot 对象编组到 Parcel 中。
进程可以调用 unmarshalling(ohos.utils.Parcel) 方法从 Parcel 中解组 NotificationSlot 对象以实现进程间通信 (IPC)。
指定者:
接口 Sequenceable 中的编组
参数:
参数名称 | 参数描述 |
---|---|
out | 指示用于编组的 Parcel 对象。 |
返回:
如果编组成功,则返回 true; 否则返回 false。
Since:
1
unmarshalling
public boolean unmarshalling(Parcel in)
从 Parcel 中解组 NotificationSlot 对象。
指定者:
在接口 Sequenceable 中解组
参数:
参数名称 | 参数描述 |
---|---|
in | 指示用于解组的 Parcel 对象。 |
返回:
如果解组成功,则返回 true; 否则返回 false。
Since:
1
toString
public String toString()
从类复制的描述:对象
返回对象的字符串表示形式。 通常,toString 方法返回一个“以文本方式表示”该对象的字符串。 结果应该是一个简洁但信息丰富的表示,易于人们阅读。 建议所有子类重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由对象作为其实例的类的名称、at 符号字符“@”和对象哈希码的无符号十六进制表示形式组成。 换句话说,此方法返回一个等于以下值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
覆盖:
类 Object 中的 toString
返回:
对象的字符串表示形式。
Since:
4
更多建议: