MessagingStyle
open class MessagingStyle : NotificationCompat.Style
kotlin.Any | ||
↳ | androidx.core.app.NotificationCompat.Style | |
↳ | androidx.core.app.NotificationCompat.MessagingStyle |
Helper class for generating large-format notifications that include multiple back-and-forth messages of varying types between any number of people.
In order to get a backwards compatible behavior, the app needs to use the v7 version of the notification builder together with this style, otherwise the user will see the normal notification view.
Use MessagingStyle#setConversationTitle(CharSequence)
to set a conversation title for group chats with more than two people. This could be the user-created name of the group or, if it doesn't have a specific name, a list of the participants in the conversation. Do not set a conversation title for one-on-one chats, since platforms use the existence of this field as a hint that the conversation is a group.
This class is a "rebuilder": It attaches to a Builder object and modifies its behavior, like so:
Notification notification = new Notification.Builder() .setContentTitle("2 new messages with " + sender.toString()) .setContentText(subject) .setSmallIcon(R.drawable.new_message) .setLargeIcon(aBitmap) .setStyle(new Notification.MessagingStyle(resources.getString(R.string.reply_name)) .addMessage(messages[0].getText(), messages[0].getTime(), messages[0].getSender()) .addMessage(messages[1].getText(), messages[1].getTime(), messages[1].getSender())) .build();
Summary
Nested classes | |
---|---|
Constants | |
---|---|
static Int |
The maximum number of messages that will be retained in the Notification itself (the number displayed is up to the platform). |
Public constructors | |
---|---|
<init>(@NonNull userDisplayName: CharSequence) |
|
Creates a new |
Public methods | |
---|---|
open Unit |
addCompatExtras(@NonNull extras: Bundle) |
open NotificationCompat.MessagingStyle |
addHistoricMessage(@Nullable message: NotificationCompat.MessagingStyle.Message?) Adds a |
open NotificationCompat.MessagingStyle |
addMessage(@Nullable text: CharSequence?, timestamp: Long, @Nullable sender: CharSequence?) Adds a message for display by this notification. |
open NotificationCompat.MessagingStyle |
addMessage(@Nullable text: CharSequence?, timestamp: Long, @Nullable person: Person?) Adds a message for display by this notification. |
open NotificationCompat.MessagingStyle |
addMessage(@Nullable message: NotificationCompat.MessagingStyle.Message?) Adds a |
open static NotificationCompat.MessagingStyle? |
extractMessagingStyleFromNotification(@NonNull notification: Notification) Retrieves a |
open CharSequence? |
Return the title to be displayed on this conversation. |
open MutableList<NotificationCompat.MessagingStyle.Message!> |
Gets the list of historic |
open MutableList<NotificationCompat.MessagingStyle.Message!> |
Gets the list of |
open Person |
getUser() Returns the person to be used for any replies sent by the user. |
open CharSequence? |
Returns the name to be displayed for any replies sent by the user. |
open Boolean |
Returns |
open NotificationCompat.MessagingStyle |
setConversationTitle(@Nullable conversationTitle: CharSequence?) Sets the title to be displayed on this conversation. |
open NotificationCompat.MessagingStyle |
setGroupConversation(isGroupConversation: Boolean) Sets whether this conversation notification represents a group. |
Inherited functions | |
---|---|
Constants
MAXIMUM_RETAINED_MESSAGES
static val MAXIMUM_RETAINED_MESSAGES: Int
The maximum number of messages that will be retained in the Notification itself (the number displayed is up to the platform).
Value: 25
Public constructors
<init>
MessagingStyle(@NonNull userDisplayName: CharSequence)
Deprecated: Use MessagingStyle(Person)
instead.
Parameters | |
---|---|
userDisplayName |
CharSequence: Required - the name to be displayed for any replies sent by the user before the posting app reposts the notification with those messages after they've been actually sent and in previous messages sent by the user added in addMes |