Pierwszym krokiem w integracji z kartami niestandardowymi jest dodanie biblioteki przeglądarki AndroidX do projektu. Otwórz plik app/build.gradle i dodaj bibliotekę przeglądarki do sekcji zależności.
dependencies {
…
implementation 'androidx.browser:browser:1.5.0'
}
Otwieranie linku na karcie niestandardowej
Po zainstalowaniu biblioteki androidx.browser/browser
możesz użyć CustomTabsIntent.Builder
do utworzenia CustomTabsIntent
i uruchomienia karty niestandardowej, wywołując launchUrl()
i przekazując identyfikator URI:
String url = "https://developers.android.com";
CustomTabsIntent intent = new CustomTabsIntent.Builder()
.build();
intent.launchUrl(MainActivity.this, Uri.parse(url));
Spowoduje to otwarcie pełnoekranowej aktywności na karcie niestandardowej, tak jak na poniższym zrzucie ekranu.
Obsługa linków aplikacji na Androida
Domyślnie karty niestandardowe obsługują linki aplikacji na Androida. Oznacza to, że jeśli aplikacja YouTube jest zainstalowana, uruchomienie CustomTabsIntent
z adresem URL filmu w YouTube spowoduje otwarcie aplikacji YouTube, a nie przeglądarki.
Jednak przekazanie metody CustomTabsSession
do interfejsu CustomTabIntent
wymusza otwarcie linku na karcie niestandardowej, nawet jeśli jest zainstalowana odpowiednia aplikacja natywna. Jeśli chcesz zachować domyślne zachowanie otwierania linków internetowych w aplikacjach natywnych, musisz dodatkowo zapoznać się z naszym przewodnikiem na temat sprawdzania, czy zainstalowana aplikacja natywna obsługuje link.
Następny artykuł: dowiedz się, jak dostosować wygląd i styl karty niestandardowej.