Ответ 1
CustomTabs
используется для открытия ссылок в браузере, поддерживающем CustomTabs
. Скорее всего, открытие выполняется на Chrome, поэтому CustomTabs
является частью платформы Chrome.
Цель состоит в том, чтобы избежать внедрения WebView в вашем приложении и все же предоставить вам возможность стилизации фактических вкладок хрома, таких как цвет панели инструментов, название, различные изменения выхода/ввода, добавление кнопок действий и меню. CustomTabs
позволит вашему приложению привязаться к службе chrome и сделать хром работать как часть вашего приложения. Styling, который даст вам ощущение, что открытый веб-ресурс является частью вашего приложения.
Помимо стиля, CustomTabs предоставит вам полнофункциональные хромовые веб-возможности, которые, вероятно, не могут быть достигнуты с помощью стандартного WebView
.
Вот demos, которые прямолинейны.
Edit:
A фрагмент из моего приложения, который пока является "упрощенной" версией Google, без механизма резервного копирования.
Использование помощника заключается в следующем:
- Инициализировать его, когда ваша активность активна
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preview);
mCustomTabHelper = new SimpleCustomChromeTabsHelper(this);
}
2. When the instance is alive and we have an url ready to be opened we can call:
mCustomTabHelper.prepareUrl(mProduct.getRedirectUrl());
Что будет привязано к службе Chrome, если она ранее не привязана, или просто уведомит службу Chrome, что мы могли бы открыть эту ссылку в будущем.
CustomTabSession
можно использовать для открытия или подготовки нескольких URL-адресов.
-
Откройте URL
mCustomTabHelper.openUrl(mProduct.getRedirectUrl());
Перегруженный метод openUrl
использует тип ui options builder, который является репликой CustomTabIntent.Builder
, но я отбросил аргумент CustomTabsSession
, чтобы помощник позже построил CustomTabIntent
внутренне.
Я запускаю версию Chrome Dev по стабильной. Если я выберу стабильный, я не смогу использовать CustomTabs
вообще. Как советы Google, CustomTabs будет работать только на Chrome 45 и бета-версии Chrome.
Демо из моего приложения: https://youtu.be/fnIZwuJXjHI
Изменить: Сообщение