public static boolean bindCustomTabsService(Context context,
            String packageName, CustomTabsServiceConnection connection) {
        connection.setApplicationContext(context.getApplicationContext());
        Intent intent = new Intent(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION);
        if (!TextUtils.isEmpty(packageName)) intent.setPackage(packageName);
        return context.bindService(intent, connection,
                Context.BIND_AUTO_CREATE | Context.BIND_WAIVE_PRIORITY);
    }
Bind to a {@link CustomTabsService} using the given package name and
{@link ServiceConnection}.
@param context     {@link Context} to use while calling
                   {@link Context#bindService(Intent, ServiceConnection, int)}
@param packageName Package name to set on the {@link Intent} for binding.
@param connection  {@link CustomTabsServiceConnection} to use when binding. This will
                   return a {@link CustomTabsClient} on
                   {@link CustomTabsServiceConnection
                   #onCustomTabsServiceConnected(ComponentName, CustomTabsClient)}
@return Whether the binding was successful.
customtabs/src/android/support/customtabs/CustomTabsClient.java