Obsługiwane przeglądarki

Patrick Kettner
Patrick Kettner

Karty niestandardowe stanowią świetną opcję, dzięki której możesz dostosować przeglądarkę bezpośrednio w aplikacji, ale nie jest to jedna jedyna rzecz. Karty niestandardowe oparte na systemie intencji to zbiór konfigurowalnych żądań opcji, które są wysyłane do preferowanej przeglądarki użytkownika. Każda przeglądarka musi zastosować odpowiednie opcje. Dostępność funkcji kart niestandardowych może się różnić w zależności od przeglądarki na Androidzie z powodu różnic w implementacji.

Poniżej znajduje się porównanie niektórych przeglądarek w ekosystemie Androida. Zdecydowana większość przeglądarek na Androidzie ma pewien poziom obsługi. Tabele nie są wyczerpujące, ale obrazują poziom wsparcia, jakiego prawdopodobnie się spodziewać. Warto sprawdzić domyślne przeglądarki osób korzystających z Twojej aplikacji i kodować się w sposób defensywny.

CustomTabsIntent.Builder

CustomTabsIntent.Builder tworzy karty niestandardowe. Kartę niestandardową możesz skonfigurować na wiele sposobów, dzięki czemu będzie ona najlepiej łączyć ją z aplikacją dzięki kolekcji wbudowanych metod, które wymieniono poniżej.

addDefaultShareMenuItem()

addDefaultShareMenuItem() dodaje domyślny przycisk udostępniania do paska narzędzi Karty niestandardowe, dzięki czemu użytkownik może udostępniać bieżącą stronę internetową za pomocą różnych aplikacji na urządzeniu.

addMenuItem()

Dodaje pozycję menu.

Po lewej telefon z wyświetloną aplikacją korzystającą z funkcji addMenuItem(), a po prawej – oddzielnym telefonem bez interfejsu API

addToolbarItem()

Dodaje przycisk polecenia do karty niestandardowej. W ten sposób można dodać wiele przycisków.

enableUrlBarHiding()

Włącza ukrywanie paska adresu URL, gdy użytkownik przewija stronę w dół.

setActionButton()

Ustawia przycisk polecenia, który jest wyświetlany na pasku narzędzi w sposób domyślny, czyli przyciemnianie.

Po lewej telefon z wyświetloną aplikacją korzystającą z funkcji setActionButton()(), a po prawej – oddzielny telefon bez interfejsu API

setCloseButtonIcon()

Ustawia niestandardowy przycisk zamknięcia wyświetlany na pasku narzędzi.

Po lewej telefon z wyświetloną aplikacją korzystającą z funkcji setCloseButtonIcon(), a po prawej – oddzielny telefon bez interfejsu API

setCloseButtonPosition()

Ustawia ikonę przycisku zamykania karty niestandardowej.

Po lewej telefon z wyświetloną aplikacją korzystającą z funkcji setCloseButtonPosition(), a po prawej – oddzielny telefon bez interfejsu API

setColorScheme()

Określa schemat kolorów, który powinien być stosowany w interfejsie użytkownika na karcie niestandardowej.

Po lewej telefon z wyświetloną aplikacją korzystającą z funkcji setColorScheme(), a po prawej – oddzielnym telefonem bez interfejsu API

setColorSchemeParams()

Określa schemat kolorów, który powinien być stosowany w interfejsie użytkownika na karcie niestandardowej.

Po lewej stronie telefon z wyświetloną aplikacją korzystającą z funkcji setColorSchemeParams(), a po prawej – oddzielnym telefonem bez interfejsu API

setDefaultColorSchemeParams()

Ustawia CustomTabColorSchemeParams() dla danego schematu kolorów. Pozwala to określić 2 różne kolory paska narzędzi dla schematu jasnego i ciemnego.

Po lewej telefon z wyświetloną aplikacją korzystającą z funkcji setDefaultColorSchemeParams(), a po prawej – oddzielnym telefonem bez interfejsu API

setDefaultShareMenuItemEnabled()

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

setExitAnimations()

Ustawia animacje wyjścia.

setInitialActivityHeightPx()

Określa początkową wysokość aktywności na karcie niestandardowej w pikselach z domyślnym zmianą rozmiaru. Karta niestandardowa będzie działać jak plansza dolna. Takie karty są często określane jako częściowa karta niestandardowa.

Po lewej telefon z wyświetloną aplikacją korzystającą z funkcji setInitialActivityHeightPx(), a po prawej – oddzielnym telefonem bez interfejsu API

setNavigationBarColor()

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

setNavigationBarDividerColor()

setSecondaryToolbarColor()

Ustawia kolor dodatkowego paska narzędzi.

setShareState()

Ustawia stan udostępniania, który powinien być stosowany do karty niestandardowej.

Po lewej telefon z wyświetloną aplikacją korzystającą z funkcji setShareState(), a po prawej – oddzielny telefon bez interfejsu API

setShowTitle()

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

Po lewej telefon z wyświetloną aplikacją korzystającą z funkcji setShowTitle(), a po prawej – osobny telefon bez interfejsu API

setStartAnimations()

Ustawia animację początkową.

setToolbarColor()

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

setToolbarCornerRadiusDp()

Ustawia górny promień narożnika paska narzędzi w dp.

setUrlBarHidingEnabled()

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

CustomTabsClient

CustomTabsClient to opcjonalna klasa do komunikowania się z klasą CustomTabsService i tworzenia na jej podstawie CustomTabsSession.

rozgrzewka()

Rozgrzej proces przeglądarki.

CustomTabsSession

CustomTabsSession to opcjonalna klasa, którą możesz przekazać do instancji CustomTabsIntent.Builder(). Tych zajęć możesz używać do obsługi komunikacji z użyciem karty niestandardowej.

setEngagementSignalsCallback()

Konfiguruje obiekt EngagementSignalsCallback, aby otrzymywać wywołania zwrotne dla zdarzeń związanych z zaangażowaniem użytkownika w stronę internetową na karcie.

isEngagementSignalsApiAvailable()

Zwraca, 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 prawdopodobnym przejściu na dany adres URL w przyszłości. Najpierw należy podać najbardziej prawdopodobny adres URL. Opcjonalnie możesz podać listę innych prawdopodobnych adresów URL. Są one traktowane jako mniej prawdopodobne niż pierwsze i muszą być posortowane w kolejności malejącej. Takie dodatkowe adresy URL mogą być ignorowane. Wszystkie poprzednie wywołania tej metody będą miały niższy priorytet.