Поддержка браузеров

Пользовательские вкладки — отличный вариант для создания индивидуального интерфейса браузера непосредственно в вашем приложении, но они не являются чем-то особенным. Пользовательские вкладки, созданные на основе системы Intent , представляют собой набор настраиваемых запросов опций, которые отправляются в предпочитаемый браузер конечного пользователя. Реализация различных опций зависит от каждого браузера. Доступность функций пользовательских вкладок может различаться в разных браузерах Android из-за различий в реализации.

Далее следует сравнение некоторых браузеров в экосистеме Android. Подавляющее большинство браузеров на Android имеют тот или иной уровень поддержки. Таблицы не являются исчерпывающими, они иллюстрируют уровень поддержки, которую вы, вероятно, получите. Вам следует изучить браузеры по умолчанию людей, использующих ваше приложение, и убедиться, что вы пишете код с осторожностью.

CustomTabsIntent.Builder

CustomTabsIntent.Builder создает пользовательские вкладки. У вас есть несколько способов настроить пользовательскую вкладку, чтобы она максимально органично сочеталась с вашим приложением, с помощью набора встроенных методов, которые перечислены ниже.

addDefaultShareMenuItem()

addDefaultShareMenuItem() добавляет кнопку общего доступа по умолчанию на панель инструментов «Пользовательские вкладки», позволяя пользователю делиться текущей веб-страницей через различные приложения на своем устройстве.

добавитьМенюитем()

Добавляет пункт меню.

Слева телефон, показывающий приложение, использующее addMenuItem(), а справа отдельный телефон без API.

добавитьToolbarItem()

Добавляет кнопку действия на пользовательскую вкладку. С помощью этого метода можно добавить несколько кнопок.

включитьUrlBarHiding()

Позволяет скрывать строку URL-адреса, когда пользователь прокручивает страницу вниз.

УстановитьActionButton()

Устанавливает кнопку действия, отображаемую на панели инструментов, с тонировкой по умолчанию.

Слева телефон, показывающий приложение, использующее setActionButton()(), а справа отдельный телефон без API.

УстановитьЗакрытьКнопкуИкон()

Устанавливает пользовательскую кнопку закрытия, отображаемую на панели инструментов.

Слева телефон, показывающий приложение, использующее setCloseButtonIcon(), а справа отдельный телефон без API.

SetCloseButtonPosition()

Устанавливает значок кнопки «Закрыть» для настраиваемой вкладки.

Слева телефон, показывающий приложение, использующее setCloseButtonPosition(), а справа отдельный телефон без API.

setColorScheme()

Устанавливает цветовую схему, которая должна применяться к пользовательскому интерфейсу на настраиваемой вкладке.

Слева телефон, показывающий приложение, использующее setColorScheme(), а справа отдельный телефон без API.

УстановитьКолорСхемеПарамс()

Устанавливает цветовую схему, которая должна применяться к пользовательскому интерфейсу на настраиваемой вкладке.

Слева телефон, показывающий приложение, использующее setColorSchemeParams(), а справа отдельный телефон без API.

setDefaultColorSchemeParams()

Устанавливает CustomTabColorSchemeParams() для данной цветовой схемы. Это позволяет указать два разных цвета панели инструментов для светлой и темной схем.

Слева телефон, показывающий приложение, использующее setDefaultColorSchemeParams(), а справа отдельный телефон без API.

setDefaultShareMenuItemEnabled()

Укажите, будет ли в меню добавляться элемент общего доступа по умолчанию.

установитьExitAnimations()

Устанавливает любую анимацию выхода.

setInitialActivityHeightPx()

Устанавливает начальную высоту пользовательского действия вкладки в пикселях с поведением изменения размера по умолчанию. Пользовательская вкладка будет вести себя как нижний лист. Это часто называют частичной пользовательской вкладкой.

Слева телефон, показывающий приложение, использующее setInitialActivityHeightPx(), а справа отдельный телефон без API.

setNavigationBarColor()

Устанавливает цвет панели навигации. Не влияет на версии API ниже L.

setNavigationBarDividerColor()

setSecondaryToolbarColor()

Устанавливает цвет дополнительной панели инструментов.

установитьShareState()

Устанавливает состояние общего доступа, которое должно быть применено к настраиваемой вкладке.

Слева телефон, показывающий приложение, использующее setShareState(), а справа отдельный телефон без API.

setShowTitle()

Устанавливает, должен ли заголовок отображаться на настраиваемой вкладке.

Слева телефон, на котором показано приложение с использованием setShowTitle(), а справа отдельный телефон без API.

setStartAnimations()

Устанавливает стартовую анимацию.

setToolbarColor()

Устанавливает цвет панели инструментов. В Android L и более поздних версиях этот цвет также применяется к строке состояния.

setToolbarCornerRadiusDp()

Устанавливает радиусы верхнего угла панели инструментов в dp.

setUrlBarHidingEnabled()

Установите, должна ли строка URL скрываться, когда пользователь прокручивает страницу вниз.

CustomTabsClient

CustomTabsClient — это необязательный класс для взаимодействия с CustomTabsService и создания на его основе CustomTabsSession .

разогревать()

Разогрейте процесс браузера.

CustomTabsSession

CustomTabsSession — это необязательный класс, который вы можете предоставить экземпляру CustomTabsIntent.Builder() . При использовании вы можете использовать этот класс для обработки любого взаимодействия с пользовательской вкладкой.

setEngagementSignalsCallback()

Устанавливает EngagementSignalsCallback для получения обратных вызовов для событий, связанных с взаимодействием пользователя с веб-страницей на вкладке.

isEngagementSignalsApiAvailable()

Возвращает сведения о том, доступен ли API сигналов взаимодействия. Доступность API сигналов взаимодействия может измениться во время выполнения.

можетLaunchUrl()

Сообщает браузеру о вероятном будущем переходе по URL-адресу. Сначала необходимо указать наиболее вероятный URL-адрес. При желании можно предоставить список других вероятных URL-адресов. Они считаются менее вероятными, чем первые, и их необходимо отсортировать в порядке убывания приоритета. Эти дополнительные URL-адреса можно игнорировать. Все предыдущие вызовы этого метода будут лишены приоритета.