Notification.MessagingStyle Class

Definition

Helper class for generating large-format notifications that include multiple back-and-forth messages of varying types between any number of people.

[Android.Runtime.Register("android/app/Notification$MessagingStyle", ApiSince=24, DoNotGenerateAcw=true)]
public class Notification.MessagingStyle : Android.App.Notification.Style
[<Android.Runtime.Register("android/app/Notification$MessagingStyle", ApiSince=24, DoNotGenerateAcw=true)>]
type Notification.MessagingStyle = class
    inherit Notification.Style
Inheritance
Notification.MessagingStyle
Attributes

Remarks

Helper class for generating large-format notifications that include multiple back-and-forth messages of varying types between any number of people.

If the platform does not provide large-format notifications, this method has no effect. The user will always see the normal notification view.

If the app is targeting Android android.os.Build.VERSION_CODES#P and above, it is required to use the Person class in order to get an optimal rendering of the notification and its avatars. For conversations involving multiple people, the app should also make sure that it marks the conversation as a group with #setGroupConversation(boolean).

From Android android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE, messaging style notifications that are associated with a valid conversation shortcut (via Notification.Builder#setShortcutId(String)) are displayed in a dedicated conversation section in the shade above non-conversation alerting and silence notifications. To be a valid conversation shortcut, the shortcut must be a ShortcutInfo#setLongLived() dynamic or cached sharing shortcut.

This class is a "rebuilder": It attaches to a Builder object and modifies its behavior. Here's an example of how this may be used:

Person user = new Person.Builder().setIcon(userIcon).setName(userName).build();
            MessagingStyle style = new MessagingStyle(user)
                 .addMessage(messages[1].getText(), messages[1].getTime(), messages[1].getPerson())
                 .addMessage(messages[2].getText(), messages[2].getTime(), messages[2].getPerson())
                 .setGroupConversation(hasMultiplePeople());

            Notification noti = new Notification.Builder()
                .setContentTitle(&quot;2 new messages with &quot; + sender.toString())
                .setContentText(subject)
                .setSmallIcon(R.drawable.new_message)
                .setLargeIcon(aBitmap)
                .setStyle(style)
                .build();

Java documentation for android.app.Notification.MessagingStyle.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Constructors

Notification.MessagingStyle(ICharSequence)

This member is deprecated.

Notification.MessagingStyle(IntPtr, JniHandleOwnership)
Notification.MessagingStyle(Person)
Notification.MessagingStyle(String)

Fields

MaximumRetainedMessages

The maximum number of messages that will be retained in the Notification itself (the number displayed is up to the platform).

Properties

Class

Returns the runtime class of this Object.

(Inherited from Object)
ConversationTitle
ConversationTitleFormatted

Return the title to be displayed on this conversation.

Handle

The handle to the underlying Android instance.

(Inherited from Object)
HistoricMessages

Gets the list of historic Messages in the notification.

IsGroupConversation

Returns true if this notification represents a group conversation, otherwise false.

JniIdentityHashCode (Inherited from Object)
JniPeerMembers
MBuilder (Inherited from Notification.Style)
Messages

Gets the list of Message objects that represent the notification.

PeerReference (Inherited from Object)
ThresholdClass
ThresholdType
User
UserDisplayName
UserDisplayNameFormatted

Returns the name to be displayed for any replies sent by the user

Methods

AddHistoricMessage(Notification+MessagingStyle+Message)
AddMessage(ICharSequence, Int64, ICharSequence)
AddMessage(ICharSequence, Int64, Person)
AddMessage(Notification+MessagingStyle+Message)
AddMessage(String, Int64, Person)
AddMessage(String, Int64, String)
Build()

Calls android.app.Notification.Builder#build() on the Builder this Style is attached to.

(Inherited from Notification.Style)
CheckBuilder() (Inherited from Notification.Style)
Clone()

Creates and returns a copy of this object.

(Inherited from Object)
Dispose() (Inherited from Object)
Dispose(Boolean) (Inherited from Object)
Equals(Object)

Indicates whether some other object is "equal to" this one.

(Inherited from Object)
GetHashCode()

Returns a hash code value for the object.

(Inherited from Object)
GetStandardView(Int32) (Inherited from Notification.Style)
InternalSetBigContentTitle(ICharSequence)

Overrides ContentTitle in the big form of the template.

(Inherited from Notification.Style)
InternalSetBigContentTitle(String)

Overrides ContentTitle in the big form of the template.

(Inherited from Notification.Style)
InternalSetSummaryText(ICharSequence)

Set the first line of text after the detail section in the big form of the template.

(Inherited from Notification.Style)
InternalSetSummaryText(String)

Set the first line of text after the detail section in the big form of the template.

(Inherited from Notification.Style)
JavaFinalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

(Inherited from Object)
Notify()

Wakes up a single thread that is waiting on this object's monitor.

(Inherited from Object)
NotifyAll()

Wakes up all threads that are waiting on this object's monitor.

(Inherited from Object)
SetBuilder(Notification+Builder)

Attaches a Notification.Builder object to this style.

(Inherited from Notification.Style)
SetConversationTitle(ICharSequence)
SetConversationTitle(String)
SetGroupConversation(Boolean)
SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

(Inherited from Object)
ToArray<T>() (Inherited from Object)
ToString()

Returns a string representation of the object.

(Inherited from Object)
UnregisterFromRuntime() (Inherited from Object)
Wait()

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>.

(Inherited from Object)
Wait(Int64)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)
Wait(Int64, Int32)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)

Explicit Interface Implementations

IJavaPeerable.Disposed() (Inherited from Object)
IJavaPeerable.DisposeUnlessReferenced() (Inherited from Object)
IJavaPeerable.Finalized() (Inherited from Object)
IJavaPeerable.JniManagedPeerState (Inherited from Object)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from Object)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from Object)

Extension Methods

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
GetJniTypeName(IJavaPeerable)

Applies to