Skip to content

Most visited

Recently visited

navigation

CustomTabsSession

public final class CustomTabsSession
extends Object

java.lang.Object
   ↳ android.support.customtabs.CustomTabsSession


A class to be used for Custom Tabs related communication. Clients that want to launch Custom Tabs can use this class exclusively to handle all related communication.

Summary

Public methods

boolean mayLaunchUrl(Uri url, Bundle extras, List<Bundle> otherLikelyBundles)

Tells the browser of a likely future navigation to a URL.

int postMessage(String message, Bundle extras)

Sends a postMessage request using the origin communicated via requestPostMessageChannel(CustomTabsSessionToken, Uri).

boolean requestPostMessageChannel(Uri postMessageOrigin)

Sends a request to create a two way postMessage channel between the client and the browser.

boolean setActionButton(Bitmap icon, String description)

This sets the action button on the toolbar with ID TOOLBAR_ACTION_BUTTON_ID.

boolean setSecondaryToolbarViews(RemoteViews remoteViews, int[] clickableIDs, PendingIntent pendingIntent)

Updates the RemoteViews of the secondary toolbar in an existing custom tab session.

boolean setToolbarItem(int id, Bitmap icon, String description)

This method was deprecated in API level 24.2.0. Use CustomTabsSession#setSecondaryToolbarViews(RemoteViews, int[], PendingIntent)

Inherited methods

From class java.lang.Object

Public methods

mayLaunchUrl

added in version 23.0.0
boolean mayLaunchUrl (Uri url, 
                Bundle extras, 
                List<Bundle> otherLikelyBundles)

Tells the browser of a likely future navigation to a URL. The most likely URL has to be specified first. Optionally, a list of other likely URLs can be provided. They are treated as less likely than the first one, and have to be sorted in decreasing priority order. These additional URLs may be ignored. All previous calls to this method will be deprioritized.

Parameters
url Uri: Most likely URL.
extras Bundle: Reserved for future use.
otherLikelyBundles List: Other likely destinations, sorted in decreasing likelihood order. Inside each Bundle, the client should provide a Uri using KEY_URL with putParcelable(String, android.os.Parcelable).
Returns
boolean true for success.

postMessage

added in version 25.3.0
int postMessage (String message, 
                Bundle extras)

Sends a postMessage request using the origin communicated via requestPostMessageChannel(CustomTabsSessionToken, Uri). Fails when called before notifyMessageChannelReady(Bundle) is received on the client side.

Parameters
message String: The message that is being sent.
extras Bundle: Reserved for future use.
Returns
int An integer constant about the postMessage request result. Will return RESULT_SUCCESS if successful.

requestPostMessageChannel

added in version 25.3.0
boolean requestPostMessageChannel (Uri postMessageOrigin)

Sends a request to create a two way postMessage channel between the client and the browser.

Parameters
postMessageOrigin Uri: A origin that the client is requesting to be identified as during the postMessage communication.
Returns
boolean Whether the implementation accepted the request. Note that returning true here doesn't mean an origin has already been assigned as the validation is asynchronous.

setActionButton

added in version 23.1.0
boolean setActionButton (Bitmap icon, 
                String description)

This sets the action button on the toolbar with ID TOOLBAR_ACTION_BUTTON_ID.

Parameters
icon Bitmap: The new icon of the action button.
description String: Content description of the action button.
Returns
boolean

See also:

setSecondaryToolbarViews

added in version 24.2.0
boolean setSecondaryToolbarViews (RemoteViews remoteViews, 
                int[] clickableIDs, 
                PendingIntent pendingIntent)

Updates the RemoteViews of the secondary toolbar in an existing custom tab session.

Parameters
remoteViews RemoteViews: The updated RemoteViews that will be shown in secondary toolbar. If null, the current secondary toolbar will be dismissed.
clickableIDs int: The ids of clickable views. The onClick event of these views will be handled by custom tabs.
pendingIntent PendingIntent: The PendingIntent that will be sent when the user clicks on one of the Views in clickableIDs.
Returns
boolean

setToolbarItem

added in version 23.2.0
boolean setToolbarItem (int id, 
                Bitmap icon, 
                String description)

This method was deprecated in API level 24.2.0.
Use CustomTabsSession#setSecondaryToolbarViews(RemoteViews, int[], PendingIntent)

Updates the visuals for toolbar items. Will only succeed if a custom tab created using this session is in the foreground in browser and the given id is valid.

Parameters
id int: The id for the item to update.
icon Bitmap: The new icon of the toolbar item.
description String: Content description of the toolbar item.
Returns
boolean Whether the update succeeded.
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.