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 |