added in version 24.1.0
belongs to Maven artifact com.android.support:customtabs:28.0.0-alpha1

CustomTabsClient

public class CustomTabsClient
extends Object

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


Class to communicate with a CustomTabsService and create CustomTabsSession from it.

Summary

Public methods

static boolean bindCustomTabsService(Context context, String packageName, CustomTabsServiceConnection connection)

Bind to a CustomTabsService using the given package name and ServiceConnection.

static boolean connectAndInitialize(Context context, String packageName)

Connects to the Custom Tabs warmup service, and initializes the browser.

Bundle extraCommand(String commandName, Bundle args)
static String getPackageName(Context context, List<String> packages)

Returns the preferred package to use for Custom Tabs, preferring the default VIEW handler.

static String getPackageName(Context context, List<String> packages, boolean ignoreDefault)

Returns the preferred package to use for Custom Tabs.

CustomTabsSession newSession(CustomTabsCallback callback)

Creates a new session through an ICustomTabsService with the optional callback.

boolean warmup(long flags)

Warm up the browser process.

Inherited methods

From class java.lang.Object

Public methods

bindCustomTabsService

added in version 24.1.0
boolean bindCustomTabsService (Context context, 
                String packageName, 
                CustomTabsServiceConnection connection)

Bind to a CustomTabsService using the given package name and ServiceConnection.

Parameters
context Context: Context to use while calling bindService(Intent, ServiceConnection, int)

packageName String: Package name to set on the Intent for binding.

connection CustomTabsServiceConnection: CustomTabsServiceConnection to use when binding. This will return a CustomTabsClient on #onCustomTabsServiceConnected(ComponentName, CustomTabsClient)

Returns
boolean Whether the binding was successful.

connectAndInitialize

added in version 24.1.0
boolean connectAndInitialize (Context context, 
                String packageName)

Connects to the Custom Tabs warmup service, and initializes the browser. This convenience method connects to the service, and immediately warms up the Custom Tabs implementation. Since service connection is asynchronous, the return code is not the return code of warmup. This call is optional, and clients are encouraged to connect to the service, call warmup() and create a session. In this case, calling this method is not necessary.

Parameters
context Context: Context to use to connect to the remote service.

packageName String: Package name of the target implementation.

Returns
boolean Whether the binding was successful.

extraCommand

added in version 24.1.0
Bundle extraCommand (String commandName, 
                Bundle args)

Parameters
commandName String

args Bundle

Returns
Bundle

getPackageName

added in version 24.1.0
String getPackageName (Context context, 
                List<String> packages)

Returns the preferred package to use for Custom Tabs, preferring the default VIEW handler.

Parameters
context Context

packages List

Returns
String

getPackageName

added in version 24.1.0
String getPackageName (Context context, 
                List<String> packages, 
                boolean ignoreDefault)

Returns the preferred package to use for Custom Tabs. The preferred package name is the default VIEW intent handler as long as it supports Custom Tabs. To modify this preferred behavior, set ignoreDefault to true and give a non empty list of package names in packages.

Parameters
context Context: Context to use for querying the packages.

packages List: Ordered list of packages to test for Custom Tabs support, in decreasing order of priority.

ignoreDefault boolean: If set, the default VIEW handler won't get priority over other browsers.

Returns
String The preferred package name for handling Custom Tabs, or null.

newSession

added in version 24.1.0
CustomTabsSession newSession (CustomTabsCallback callback)

Creates a new session through an ICustomTabsService with the optional callback. This session can be used to associate any related communication through the service with an intent and then later with a Custom Tab. The client can then send later service calls or intents to through same session-intent-Custom Tab association.

Parameters
callback CustomTabsCallback: The callback through which the client will receive updates about the created session. Can be null. All the callbacks will be received on the UI thread.

Returns
CustomTabsSession The session object that was created as a result of the transaction. The client can use this to relay session specific calls. Null on error.

warmup

added in version 24.1.0
boolean warmup (long flags)

Warm up the browser process. Allows the browser application to pre-initialize itself in the background. Significantly speeds up URL opening in the browser. This is asynchronous and can be called several times.

Parameters
flags long: Reserved for future use.

Returns
boolean Whether the warmup was successful.