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_MESSAGES
The 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 in
addMessage(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 : A CharSequence to be displayed as the message content |
timestamp |
long : Time at which the message arrived in ms since Unix epoch |
sender |
CharSequence : A CharSequence to be used for displaying the name of the
sender. Should be null for messages by the current user, in which case
the platform will insert getUserDisplayName() .
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 : The NotificationCompat.MessagingStyle.Message to 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 : true if the conversation represents a group,
false otherwise. |
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 2024-04-11 UTC.