Obsługa przeglądarek

Patrick Kettner
Patrick Kettner

Karty niestandardowe to świetna opcja umożliwiająca tworzenie niestandardowych przeglądarek bezpośrednio w aplikacji, ale nie jest to jedyna opcja. Karty niestandardowe to zbiór opcji opcji konfigurowalnych, które są wysyłane do preferowanej przeglądarki użytkownika na podstawie systemu intencji. Każda przeglądarka musi samodzielnie wdrożyć różne opcje. Dostępność funkcji kart niestandardowych może się różnić w różnych przeglądarkach na Androida z powodu różnic w wdrożeniu.

Poniżej znajdziesz porównanie niektórych przeglądarek w ekosystemie Androida. Większość przeglądarek na Androida zapewnia pewien poziom obsługi. Tabele nie mają być wyczerpujące, ale mają ilustrować poziom obsługi, jaki możesz uzyskać. Sprawdź, jakie przeglądarki domyślne mają użytkownicy Twojej aplikacji, i zadbaj o odpowiednie zabezpieczenie kodu.

CustomTabsIntent.Builder

CustomTabsIntent.Builder tworzy karty niestandardowe. Istnieją różne sposoby konfigurowania karty niestandardowej, aby jak najlepiej dopasować ją do aplikacji. W tym celu możesz użyć wbudowanych metod opisanych poniżej.

addDefaultShareMenuItem()

addDefaultShareMenuItem() dodaje domyślny przycisk udostępniania do paska narzędzi kart niestandardowych, umożliwiając użytkownikowi udostępnianie bieżącej strony internetowej za pomocą różnych aplikacji na urządzeniu.

addMenuItem()

Dodaje pozycję menu.

Po lewej stronie telefon z aplikacją korzystającą z funkcji addMenuItem(), a po prawej telefon bez interfejsu API

addToolbarItem()

Dodaje do karty niestandardowej przycisk działania. W ten sposób możesz dodać wiele przycisków.

enableUrlBarHiding()

Umożliwia ukrycie paska adresu URL podczas przewijania strony w dół.

setActionButton()

Ustawia przycisk działania wyświetlany na pasku narzędzi z domyślnym zachowaniem zabarwiania.

Po lewej stronie telefon z aplikacją korzystającą z funkcji setActionButton(), a po prawej telefon bez interfejsu API

setCloseButtonIcon()

Ustawia niestandardowy przycisk Zamknij, który jest widoczny na pasku narzędzi.

Po lewej stronie telefon z aplikacją korzystającą z funkcji setCloseButtonIcon(), a po prawej telefon bez interfejsu API

setCloseButtonPosition()

Ustawia ikonę przycisku Zamknij na karcie niestandardowej.

Po lewej stronie telefon z aplikacją korzystającą z funkcji setCloseButtonPosition(), a po prawej telefon bez interfejsu API

setColorScheme()

Określa schemat kolorów, który ma być zastosowany w interfejsie na karcie niestandardowej.

Po lewej stronie telefon z aplikacją korzystającą z funkcji setColorScheme(), a po prawej telefon bez interfejsu API

setColorSchemeParams()

Określa schemat kolorów, który ma być zastosowany w interfejsie na karcie niestandardowej.

Po lewej stronie telefon z aplikacją korzystającą z funkcji setColorSchemeParams(), a po prawej telefon bez interfejsu API

setDefaultColorSchemeParams()

Ustawia wartość CustomTabColorSchemeParams() dla danego schematu kolorów. Dzięki temu możesz określić 2 kolory paska narzędzi dla schematów jasnych i ciemnych.

Po lewej stronie telefon z aplikacją korzystającą z setDefaultColorSchemeParams(), a po prawej telefon bez interfejsu API

setDefaultShareMenuItemEnabled()

Określ, czy do menu ma być dodawany domyślny element udostępniania.

setExitAnimations()

Ustawia animacje zakończenia.

setInitialActivityHeightPx()

Ustawia początkową wysokość w pikselach dla niestandardowej aktywności w karcie z domyślnym zachowaniem zmiany rozmiaru. Karta niestandardowa będzie działać jak plansza dolna. Jest to często nazywane częściową kartą niestandardową.

Po lewej stronie telefon z aplikacją korzystającą z setInitialActivityHeightPx(), a po prawej telefon bez interfejsu API

setNavigationBarColor()

Ustawia kolor paska nawigacyjnego. Nie ma wpływu na wersje interfejsu API starsze niż L.

setNavigationBarDividerColor()

setSecondaryToolbarColor()

Ustawia kolor drugiego paska narzędzi.

setShareState()

Określa stan udostępniania, który powinien być zastosowany do karty niestandardowej.

Po lewej stronie telefon z aplikacją korzystającą z setShareState(), a po prawej telefon bez interfejsu API

setShowTitle()

Określa, czy tytuł ma być wyświetlany na karcie niestandardowej.

Po lewej stronie telefon z aplikacją korzystającą z setShowTitle(), a po prawej telefon bez interfejsu API

setStartAnimations()

Ustawia animacje początkowe.

setToolbarColor()

Ustawia kolor paska narzędzi. W Androidzie L i nowszych wersjach ten kolor jest też stosowany na pasku stanu.

setToolbarCornerRadiusDp()

Ustawia promienie górnych narożników paska narzędzi w dp.

setUrlBarHidingEnabled()

Określ, czy pasek adresu URL powinien się ukrywać, gdy użytkownik przewija stronę w dół.

CustomTabsClient

CustomTabsClient to opcjonalna klasa, która umożliwia komunikację z CustomTabsService i tworzenie na jej podstawie CustomTabsSession.

warmup()

Rozgrzej przeglądarkę.

CustomTabsSession

CustomTabsSession to opcjonalna klasa, którą możesz podać instancji klasy CustomTabsIntent.Builder(). W razie potrzeby możesz użyć tej klasy do obsługi komunikacji z kartą niestandardową.

setEngagementSignalsCallback()

Ustawia wartość EngagementSignalsCallback, aby odbierać wywołania zwrotne zdarzeń związanych z zaangażowaniem użytkownika na stronie internetowej na karcie.

isEngagementSignalsApiAvailable()

Zwraca informację, czy interfejs Engagement Signals API jest dostępny. Dostępność interfejsu Engagement Signals API może się zmieniać w czasie działania.

mayLaunchUrl()

Informuje przeglądarkę o prawdopodobnej przyszłej nawigacji do adresu URL. Najpierw należy podać najbardziej prawdopodobny adres URL. Opcjonalnie można podać listę innych prawdopodobnych adresów URL. Są one traktowane jako mniej prawdopodobne niż pierwsza i muszą być posortowane w malejącym porządku priorytetu. Te dodatkowe adresy URL mogą zostać zignorowane. Wszystkie wcześniejsze wywołania tej metody zostaną zdepriorytetyzowane.