阅读(2441) (7)

鸿蒙OS NotificationRequest.NotificationConversationalContent

2022-10-10 13:42:35 更新

NotificationRequest.NotificationConversationalContent

java.lang.Object

|---ohos.event.notification.NotificationRequest.NotificationConversationalContent

public static final class NotificationRequest.NotificationConversationalContent
extends Object
implements Sequenceable

构造一个类似对话的通知,其中包括多个用户之间的消息通信。

构造类会话通知时,需要调用 NotificationRequest#setContent(NotificationContent) 设置对应的通知内容类型。 您可以调用 setConversationTitle(java.lang.String) 来设置对话的标题,并调用 addConversationalMessage(ohos.event.notification.NotificationRequest.NotificationConversationalContent.ConversationalMessage) 来添加包含在对话中的消息。 使用这两种方法设置的标题和消息会影响分别调用 setTitle(java.lang.String) 和 setText(java.lang.String) 设置的标题和文本的显示效果。

Since:

3

嵌套类摘要

修饰符和类型 描述
static class NotificationRequest.NotificationConversationalContent.ConversationalMessage 提供用于定义在使用 NotificationConversationalContent 创建的通知中使用的会话消息的方法。
从接口 ohos.utils.Sequenceable 继承的嵌套类/接口
Sequenceable.ProducerT

构造函数摘要

构造函数 描述
NotificationConversationalContent(MessageUser user) 用于创建具有指定 MessageUser 的 NotificationConversationalContent 实例的构造函数。

方法总结

修饰符和类型 方法 描述
NotificationRequest.NotificationConversationalContent addConversationalMessage(String text, long timestamp, MessageUser sender) 根据指定的消息内容、时间戳和 MessageUser 向此类似对话的通知添加消息。
NotificationRequest.NotificationConversationalContent addConversationalMessage(NotificationRequest.NotificationConversationalContent.ConversationalMessage message) 将指定消息添加到此类似对话的通知中。
String getAdditionalText() 获取已通过调用 setAdditionalText(java.lang.String) 为这个类似对话的通知设置的附加文本。
ListNotificationRequest.NotificationConversationalContent.ConversationalMessage getAllConversationalMessages() 获取包含在此类似对话的通知中的所有消息。
String getConversationTitle() 获取要为对话显示的标题。
MessageUser getMessageUser() 获取用户在此类似对话的通知中发送的任何消息要显示的消息发件人。
String getText() 获取该类会话通知调用 setText(java.lang.String) 设置的通知内容。
String getTitle() 获取通过调用 setTitle(java.lang.String) 为这个类似对话的通知设置的标题。
boolean isConversationGroup() 检查此通知是否代表群组对话。
boolean marshalling(Parcel out) 将此通知对话内容对象编组到包裹中。
NotificationRequest.NotificationConversationalContent setAdditionalText(String additionalText) 设置要包含在此类似对话的通知中的附加文本。
NotificationRequest.NotificationConversationalContent setConversationGroup(boolean conversationGroup) 设置此通知是否代表群组对话。
NotificationRequest.NotificationConversationalContent setConversationTitle(String conversationTitle) 设置要为对话显示的标题。
NotificationRequest.NotificationConversationalContent setText(String text) 设置要包含在此类似对话的通知中的文本。
NotificationRequest.NotificationConversationalContent setTitle(String title) 设置此对话式通知的标题。
String toString() 返回对象的字符串表示形式。
boolean unmarshalling(Parcel in) 从 Parcel 中解组此 NotificationConversationalContent 对象。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
从接口 ohos.utils.Sequenceable 继承的方法
hasFileDescriptor

构造函数详细信息

NotificationConversationalContent

public NotificationConversationalContent(MessageUser user) throws IllegalArgumentException

用于创建具有指定 MessageUser 的 NotificationConversationalContent 实例的构造函数。

参数:

参数名称 参数描述
user 指示在此类似对话的通知中发送所有 Message 对象的 MessageUser。 此参数不能为空。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果 user 为 null,则引发此异常。

Since:

3

方法详情

getMessageUser

public MessageUser getMessageUser()

获取用户在此类似对话的通知中发送的任何消息要显示的消息发件人。

返回:

返回消息发送者。

Since:

3

getTitle

public String getTitle()

获取通过调用 setTitle(java.lang.String) 为这个类似对话的通知设置的标题。

如果 setConversationTitle(java.lang.String) 与 addConversationalMessage(ohos.event.notification.NotificationRequest.NotificationConversationalContent.ConversationalMessage) 或 addConversationalMessage(java.lang.String,long,ohos.event.notification.MessageUser) 一起调用此通知, 此方法的返回值将是 getConversationTitle() 的返回值和最后添加的 Message 的 MessageUser 上调用的 MessageUser#getName() 的返回值的组合。

返回:

返回此通知的标题。

Since:

3

setTitle

public NotificationRequest.NotificationConversationalContent setTitle(String title)

设置此对话式通知的标题。

参数:

参数名称 参数描述
title 指示此类似对话的通知的标题。

返回:

返回此 NotificationConversationalContent 对象。

Since:

3

getText

public String getText()

获取该类会话通知调用 setText(java.lang.String) 设置的通知内容。

如果还为此通知调用 addConversationalMessage(ohos.event.notification.NotificationRequest.NotificationConversationalContent.ConversationalMessage) 或 addConversationalMessage(java.lang.String,long,ohos.event.notification.MessageUser),则此方法的返回值将是 在最后添加的消息上调用的 ConversationalMessage#getText() 的返回值。

返回:

返回通知内容。

Since:

3

setText

public NotificationRequest.NotificationConversationalContent setText(String text)

设置要包含在此类似对话的通知中的文本。 如果此通知也调用了 setConversationTitle(java.lang.String),则此方法不生效。

参数:

参数名称 参数描述
text 指示要包含的文本。

返回:

返回此 NotificationConversationalContent 对象。

Since:

3

getAdditionalText

public String getAdditionalText()

获取已通过调用 setAdditionalText(java.lang.String) 为这个类似对话的通知设置的附加文本。

返回:

返回此通知的附加文本。

Since:

3

setAdditionalText

public NotificationRequest.NotificationConversationalContent setAdditionalText(String additionalText)

设置要包含在此类似对话的通知中的附加文本。

附加文本是对通过调用 setText(java.lang.String) 设置的通知文本的补充。 附加文本的字体小于通知文本,并在单独的行中显示。

参数:

参数名称 参数描述
additionalText 指示要包含的附加文本。

返回:

返回此 NotificationConversationalContent 对象。

Since:

3

getConversationTitle

public String getConversationTitle()

获取要为对话显示的标题。

返回:

返回要为对话显示的标题。

Since:

3

setConversationTitle

public NotificationRequest.NotificationConversationalContent setConversationTitle(String conversationTitle)

设置要为对话显示的标题。

此方法中设置的标题将通过调用 setTitle(java.lang.String) 覆盖一组。

参数:

参数名称 参数描述
conversationTitle 指示要为对话显示的标题。

返回:

返回此 NotificationConversationalContent 对象。

Since:

3

isConversationGroup

public boolean isConversationGroup()

检查此通知是否代表群组对话。

返回:

如果此通知表示群组对话,则返回 true; 否则返回 false。

Since:

3

setConversationGroup

public NotificationRequest.NotificationConversationalContent setConversationGroup(boolean conversationGroup)

设置此通知是否代表群组对话。

通过调用 NotificationRequest#setBigIcon(PixelMap) 为该通知设置的大图标(如果有)仅在此方法设置为 true 时才会显示。

参数:

参数名称 参数描述
conversationGroup 指定此通知是否代表组对话。 true 表示群聊,false 表示不是。

返回:

返回此 NotificationConversationalContent 对象。

Since:

3

getAllConversationalMessages

public ListNotificationRequest.NotificationConversationalContent.ConversationalMessage getAllConversationalMessages()

获取包含在此类似对话的通知中的所有消息。

返回:

返回包含的所有 Message 对象的列表。

Since:

3

addConversationalMessage

public NotificationRequest.NotificationConversationalContent addConversationalMessage(NotificationRequest.NotificationConversationalContent.ConversationalMessage message)

将指定消息添加到此类似对话的通知中。 所有消息将按添加顺序显示。

参数:

参数名称 参数描述
message 指示要添加的 ConversationalMessage 对象。

返回:

返回此 NotificationConversationalContent 对象。

Since:

3

addConversationalMessage

public NotificationRequest.NotificationConversationalContent addConversationalMessage(String text, long timestamp, MessageUser sender) throws IllegalArgumentException

根据指定的消息内容、时间戳和 MessageUser 向此类似对话的通知添加消息。 所有消息将按添加顺序显示。

参数:

参数名称 参数描述
text 指示要作为消息内容显示的文本。 此参数不能为空。
timestamp 指示消息到达的时间。
sender 指示发送消息的 MessageUser。

返回:

返回此 NotificationConversationalContent 对象。

Throws:

Throw名称 Throw描述
IllegalArgumentException 如果 text 为 null,则引发此异常。

Since:

3

marshalling

public boolean marshalling(Parcel out)

将此 NotificationConversationalContent 对象编组为 Parcel。

进程可以调用 unmarshalling(ohos.utils.Parcel) 方法从 Parcel 中解组此 NotificationConversationalContent 对象,以实现进程间通信 (IPC)。

指定者:

接口 Sequenceable 中的编组

参数:

参数名称 参数描述
out 指示用于编组的 Parcel 对象。

返回:

如果编组成功,则返回 true; 否则返回 false。

Since:

3

unmarshalling

public boolean unmarshalling(Parcel in)

从 Parcel 中解组此 NotificationConversationalContent 对象。

指定者:

在接口 Sequenceable 中解组

参数:

参数名称 参数描述
in 指示用于解组的 Parcel 对象。

返回:

如果解组成功,则返回 true; 否则返回 false。

Since:

3

toString

public String toString()

从类复制的描述:对象

返回对象的字符串表示形式。 通常,toString 方法返回一个“以文本方式表示”该对象的字符串。 结果应该是一个简洁但信息丰富的表示,易于人们阅读。 建议所有子类重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由对象作为其实例的类的名称、at 符号字符“@”和对象哈希码的无符号十六进制表示形式组成。 换句话说,此方法返回一个等于以下值的字符串:

 getClass().getName() + '@' + Integer.toHexString(hashCode()) 

覆盖:

类 Object 中的 toString

返回:

对象的字符串表示形式。

Since:

4