belongs to Maven artifact com.android.support:support-compat:28.0.0-alpha1
NotificationCompat.MessagingStyle
  public
  static
  
  
  class
  NotificationCompat.MessagingStyle
  
  
  
  
    extends NotificationCompat.Style
  
  
  
  
  
  
| java.lang.Object | ||
| ↳ | android.support.v4.app.NotificationCompat.Style | |
| ↳ | android.support.v4.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 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 | |
|---|---|
| 
        
        
        
        
        class | NotificationCompat.MessagingStyle.Message
 | 
| Constants | |
|---|---|
| int | MAXIMUM_RETAINED_MESSAGESThe maximum number of messages that will be retained in the Notification itself (the number displayed is up to the platform). | 
| Public constructors | |
|---|---|
| 
      NotificationCompat.MessagingStyle(CharSequence userDisplayName)
       | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        void | 
      addCompatExtras(Bundle extras)
       | 
| 
        
        
        
        
        
        NotificationCompat.MessagingStyle | 
      addMessage(CharSequence text, long timestamp, CharSequence sender)
      Adds a message for display by this notification. | 
| 
        
        
        
        
        
        NotificationCompat.MessagingStyle | 
      addMessage(NotificationCompat.MessagingStyle.Message message)
      Adds a  | 
| 
        
        
        static
        
        
        NotificationCompat.MessagingStyle | 
      extractMessagingStyleFromNotification(Notification notification)
      Retrieves a  | 
| 
        
        
        
        
        
        CharSequence | 
      getConversationTitle()
      Return the title to be displayed on this conversation. | 
| 
        
        
        
        
        
        List<NotificationCompat.MessagingStyle.Message> | 
      getMessages()
      Gets the list of  | 
| 
        
        
        
        
        
        CharSequence | 
      getUserDisplayName()
      Returns the name to be displayed for any replies sent by the user | 
| 
        
        
        
        
        
        boolean | 
      isGroupConversation()
      Returns  | 
| 
        
        
        
        
        
        NotificationCompat.MessagingStyle | 
      setConversationTitle(CharSequence conversationTitle)
      Sets the title to be displayed on this conversation. | 
| 
        
        
        
        
        
        NotificationCompat.MessagingStyle | 
      setGroupConversation(boolean isGroupConversation)
      Sets whether this conversation notification represents a group. | 
| Inherited methods | |
|---|---|
|  From
class 
  
    android.support.v4.app.NotificationCompat.Style
  
 | |
|  From
class 
  
    java.lang.Object
  
 | |
Constants
MAXIMUM_RETAINED_MESSAGES
int MAXIMUM_RETAINED_MESSAGES
The maximum number of messages that will be retained in the Notification itself (the number displayed is up to the platform).
Constant Value: 25 (0x00000019)
Public constructors
NotificationCompat.MessagingStyle
NotificationCompat.MessagingStyle (CharSequence userDisplayName)
| 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 inaddMessage(Message) | 
Public methods
addCompatExtras
void addCompatExtras (Bundle extras)
| Parameters | |
|---|---|
| extras | Bundle | 
addMessage
NotificationCompat.MessagingStyle addMessage (CharSequence text, long timestamp, CharSequence sender)
Adds a message for display by this notification. Convenience call for a simple
 NotificationCompat.MessagingStyle.Message in addMessage(Message)
| Parameters | |
|---|---|
| text | CharSequence: ACharSequenceto be displayed as the message content | 
| timestamp | long: Time at which the message arrived in ms since Unix epoch | 
| sender | CharSequence: ACharSequenceto be used for displaying the name of the
 sender. Should benullfor messages by the current user, in which case
 the platform will insertgetUserDisplayName().
 Should be unique amongst all individuals in the conversation, and should be
 consistent during re-posts of the notification. | 
| Returns | |
|---|---|
| NotificationCompat.MessagingStyle | this object for method chaining | 
addMessage
NotificationCompat.MessagingStyle addMessage (NotificationCompat.MessagingStyle.Message message)
Adds a NotificationCompat.MessagingStyle.Message for display in this notification.
| Parameters | |
|---|---|
| message | NotificationCompat.MessagingStyle.Message: TheNotificationCompat.MessagingStyle.Messageto be displayed | 
| Returns | |
|---|---|
| NotificationCompat.MessagingStyle | this object for method chaining | 
extractMessagingStyleFromNotification
NotificationCompat.MessagingStyle extractMessagingStyleFromNotification (Notification notification)
Retrieves a NotificationCompat.MessagingStyle from a Notification, enabling an application
 that has set a NotificationCompat.MessagingStyle using NotificationCompat or
 Notification.Builder to send messaging information to another
 application using NotificationCompat, regardless of the API level of the system.
 Returns null if there is no NotificationCompat.MessagingStyle set.
| Parameters | |
|---|---|
| notification | Notification | 
| Returns | |
|---|---|
| NotificationCompat.MessagingStyle | |
getConversationTitle
CharSequence getConversationTitle ()
Return the title to be displayed on this conversation. Can be null.
| Returns | |
|---|---|
| CharSequence | |
getMessages
List<NotificationCompat.MessagingStyle.Message> getMessages ()
Gets the list of Message objects that represent the notification
| Returns | |
|---|---|
| List<NotificationCompat.MessagingStyle.Message> | |
getUserDisplayName
CharSequence getUserDisplayName ()
Returns the name to be displayed for any replies sent by the user
| Returns | |
|---|---|
| CharSequence | |
isGroupConversation
boolean isGroupConversation ()
Returns true if this notification represents a group conversation, otherwise
 false.
 
 If the application that generated this NotificationCompat.MessagingStyle targets an SDK version
 less than P, this method becomes dependent on whether or
 not the conversation title is set; returning true if the conversation title is
 a non-null value, or false otherwise. From P forward,
 this method returns what's set by setGroupConversation(boolean) allowing for
 named, non-group conversations.
| Returns | |
|---|---|
| boolean | |
See also:
setConversationTitle
NotificationCompat.MessagingStyle setConversationTitle (CharSequence conversationTitle)
Sets the title to be displayed on this conversation. May be set to null.
 
This API's behavior was changed in SDK version P. If your
 application's target version is less than P, setting a
 conversation title to a non-null value will make isGroupConversation() return
 true and passing null will make it return false. In
 P and beyond, use setGroupConversation(boolean)
 to set group conversation status.
| Parameters | |
|---|---|
| conversationTitle | CharSequence: Title displayed for this conversation | 
| Returns | |
|---|---|
| NotificationCompat.MessagingStyle | this object for method chaining | 
setGroupConversation
NotificationCompat.MessagingStyle setGroupConversation (boolean isGroupConversation)
Sets whether this conversation notification represents a group.
| Parameters | |
|---|---|
| isGroupConversation | boolean:trueif the conversation represents a group,falseotherwise. | 
| Returns | |
|---|---|
| NotificationCompat.MessagingStyle | this object for method chaining | 
- Annotations
- Interfaces- ActionBarDrawerToggle.Delegate
- ActionBarDrawerToggle.DelegateProvider
- ActivityCompat.OnRequestPermissionsResultCallback
- ActivityCompat.PermissionCompatDelegate
- FragmentManager.BackStackEntry
- FragmentManager.OnBackStackChangedListener
- LoaderManager.LoaderCallbacks
- NotificationCompat.Action.Extender
- NotificationCompat.Extender
- SharedElementCallback.OnSharedElementsReadyListener
- TaskStackBuilder.SupportParentable
 
- Classes- ActionBarDrawerToggle
- ActivityCompat
- ActivityManagerCompat
- ActivityOptionsCompat
- AlarmManagerCompat
- AppLaunchChecker
- AppOpsManagerCompat
- BundleCompat
- DialogFragment
- Fragment
- Fragment.SavedState
- FragmentActivity
- FragmentContainer
- FragmentController
- FragmentHostCallback
- FragmentManager
- FragmentManager.FragmentLifecycleCallbacks
- FragmentManagerNonConfig
- FragmentPagerAdapter
- FragmentStatePagerAdapter
- FragmentTabHost
- FragmentTransaction
- FrameMetricsAggregator
- JobIntentService
- ListFragment
- LoaderManager
- NavUtils
- NotificationCompat
- NotificationCompat.Action
- NotificationCompat.Action.Builder
- NotificationCompat.Action.WearableExtender
- NotificationCompat.BigPictureStyle
- NotificationCompat.BigTextStyle
- NotificationCompat.Builder
- NotificationCompat.CarExtender
- NotificationCompat.CarExtender.UnreadConversation
- NotificationCompat.CarExtender.UnreadConversation.Builder
- NotificationCompat.DecoratedCustomViewStyle
- NotificationCompat.InboxStyle
- NotificationCompat.MessagingStyle
- NotificationCompat.MessagingStyle.Message
- NotificationCompat.Style
- NotificationCompat.WearableExtender
- NotificationCompatExtras
- NotificationCompatSideChannelService
- NotificationManagerCompat
- RemoteInput
- RemoteInput.Builder
- ServiceCompat
- ShareCompat
- ShareCompat.IntentBuilder
- ShareCompat.IntentReader
- SharedElementCallback
- TaskStackBuilder
 
- Exceptions
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
