PostMessageServiceConnection

public abstract class PostMessageServiceConnection
extends Object implements ServiceConnection

java.lang.Object
   ↳ androidx.browser.customtabs.PostMessageServiceConnection


A ServiceConnection for Custom Tabs providers to use while connecting to a PostMessageService on the client side.

Summary

Public constructors

PostMessageServiceConnection(CustomTabsSessionToken session)

Public methods

boolean bindSessionToPostMessageService(Context context, String packageName)

Binds the browser side to the client app through the given PostMessageService name.

final boolean notifyMessageChannelReady(Bundle extras)

Notifies the client that the postMessage channel requested with CustomTabsService.requestPostMessageChannel(CustomTabsSessionToken, android.net.Uri) is ready.

void onPostMessageServiceConnected()

Called when the PostMessageService connection is established.

void onPostMessageServiceDisconnected()

Called when the connection is lost with the PostMessageService.

final void onServiceConnected(ComponentName name, IBinder service)
final void onServiceDisconnected(ComponentName name)
final boolean postMessage(String message, Bundle extras)

Posts a message to the client.

void unbindFromContext(Context context)

Unbinds this service connection from the given context.

Inherited methods

Public constructors

PostMessageServiceConnection

public PostMessageServiceConnection (CustomTabsSessionToken session)

Parameters
session CustomTabsSessionToken

Public methods

bindSessionToPostMessageService

public boolean bindSessionToPostMessageService (Context context, 
                String packageName)

Binds the browser side to the client app through the given PostMessageService name. After this, this PostMessageServiceConnection can be used for sending postMessage related communication back to the client.

Parameters
context Context: A context to bind to the service.

packageName String: The name of the package to be bound to.

Returns
boolean Whether the binding was successful.

notifyMessageChannelReady

public final boolean notifyMessageChannelReady (Bundle extras)

Notifies the client that the postMessage channel requested with CustomTabsService.requestPostMessageChannel(CustomTabsSessionToken, android.net.Uri) is ready. This method should be called when the browser binds to the client side PostMessageService and also readies a connection to the web frame.

Parameters
extras Bundle: Reserved for future use.

Returns
boolean Whether the notification was sent to the remote successfully.

onPostMessageServiceConnected

public void onPostMessageServiceConnected ()

Called when the PostMessageService connection is established.

onPostMessageServiceDisconnected

public void onPostMessageServiceDisconnected ()

Called when the connection is lost with the PostMessageService.

onServiceConnected

public final void onServiceConnected (ComponentName name, 
                IBinder service)

Parameters
name ComponentName

service IBinder

onServiceDisconnected

public final void onServiceDisconnected (ComponentName name)

Parameters
name ComponentName

postMessage

public final boolean postMessage (String message, 
                Bundle extras)

Posts a message to the client. This should be called when a tab controlled by related CustomTabsSession has sent a postMessage. If postMessage() is called from a single thread, then the messages will be posted in the same order.

Parameters
message String: The message sent.

extras Bundle: Reserved for future use.

Returns
boolean Whether the postMessage was sent to the remote successfully.

unbindFromContext

public void unbindFromContext (Context context)

Unbinds this service connection from the given context.

Parameters
context Context: The context to be unbound from.