This repository is deprecated. Please use android-browser-helper or androidx.browser instead.
You can learn more about the deprecation and which library you should use by reading Trusted Web Activities, the Lay of the Land.
Chrome Custom Tabs provides a way for an application to customize and interact with a Chrome
Activity on Android. This makes the web content feel like being a part of the application, while retaining the full functionality and performance of a complete web browser.
This library is based off (and contains copies of the classes from) the Android Support Library Custom Tabs package. There are known bugs when using custom-tabs-client with AndroidX or with Jetifier (the AndroidX conversion tool). For example, run-time crashes like this bug:
java.lang.IllegalAccessError: Method 'android.os.Bundle android.support.customtabs.CustomTabColorSchemeParams.toBundle()' is inaccessible to class 'androidx.browser.customtabs.CustomTabsIntent$Builder' (declaration of 'androidx.browser.customtabs.CustomTabsIntent$Builder' appears in XYZ.apk)
Please use the Android Browser Helper library instead. It contains the same functionality updated to work with AndroidX.
Using Custom Tabs should be easy. This repository hosts examples and in-depth documentation. The examples are importable as projects into the Android Studio.
We want to hear your feedback! Please create bugs and start discussions using this template. Please use the template for any issues related to the Custom Tabs APIs, their implementation in Chrome, the examples in this repository, and related functionality of the Android Support Library.
Note: we know that the GitHub issue tracker is great! However, since Custom Tabs is mostly driven by Chrome developers, and we want to keep all bugs in one place, we prefer the Chromium issue tracker at the moment.
We accept contributions to Custom Tabs examples and documentation. Please see our contributor's guide.