У меня есть активность, которая загружает внешний url в веб-просмотр в моем приложении. Я бы хотел использовать вкладки Chrome Custom, когда он доступен, но я поддерживаю устройства, которые могут не иметь версию Chrome, которая их поддерживает.Как проверить, поддерживает ли Chrome пользовательские вкладки Chrome?
В случае поддержки CustomTabs я бы хотел использовать старый код, но использовать CustomTabsIntent.Builder(), когда они есть. Старый код загружает содержимое в WebView, содержащееся в Activity, где я все еще могу управлять ActionBar.
Я хотел бы написать вспомогательный метод, который скажет мне, поддерживается ли он, но я не уверен, как это сделать. Информация на странице разработчика довольно тонкая: https://developer.chrome.com/multidevice/android/customtabs
Сообщается, что если вы привязываете успешно, пользовательские вкладки могут быть безопасно использованы. Есть ли простой способ привязки, чтобы проверить это?
Как это я предполагаю:
Intent serviceIntent = new Intent("android.support.customtabs.action.CustomTabsService");
serviceIntent.setPackage("com.android.chrome");
boolean customTabsSupported = bindService(serviceIntent, new CustomTabsServiceConnection() {
@Override
public void onCustomTabsServiceConnected(final ComponentName componentName, final CustomTabsClient customTabsClient) {}
@Override
public void onServiceDisconnected(final ComponentName name) {}
},
Context.BIND_AUTO_CREATE | Context.BIND_WAIVE_PRIORITY);
if (customTabsSupported) {
// is supported
}
Будет ли это проверяться, поддерживаются ли пользовательские вкладки Chrome в других браузерах? – X09