Я использую шаблон из github: https://github.com/mgks/Android-SmartWebView
На самом деле это приложение имеет возможность открывать URL-адреса, отличные от URL-адреса веб-просмотра, в браузере по умолчанию.Теперь я хочу открыть их в пользовательских вкладках Chrome.
Шаг 1: Я включил его в переменных.статический логический ASWP_EXTURL = true;// открыть внешний URL-адрес в браузере по умолчанию вместо веб-просмотра приложения
Шаг 2. Добавлены зависимости.
dependencies {
...
implementation 'com.android.support:customtabs:28.0.0'
}
Шаг 3. Добавлен код в MainActivity.java (см. строку 455).
//Opening external URLs in android default web browser
} else if (ASWP_EXTURL && !aswm_host(url).equals(ASWV_HOST)) {
//aswm_view(url,true);
Uri uri = Uri.parse(url);
// create an intent builder
CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder();
// Begin customizing
// set toolbar colors
intentBuilder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary));
intentBuilder.setSecondaryToolbarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark));
// set start and exit animations
intentBuilder.setStartAnimations(this, R.anim.slide_in_right, R.anim.slide_out_left);
intentBuilder.setExitAnimations(this, android.R.anim.slide_in_left,
android.R.anim.slide_out_right);
// build custom tabs intent
CustomTabsIntent customTabsIntent = intentBuilder.build();
// launch the url
customTabsIntent.launchUrl(activity, uri);
} else {
a = false;
}
return a;
}
Шаг 3;Скомпилировано и запущено в эмуляторе.Приложение открывает URL-адреса веб-просмотра как обычно.Но при нажатии на внешние URL он зависает и останавливается.
Кто-нибудь, пожалуйста, направьте меня.
Кроме того, я нашел ошибку.При первой загрузке некоторые из моих мобильных меню не отображаются правильно.Но после второго щелчка (при открытии другой страницы) он исправляется.
Ссылки: Мой вопрос в Github: https://github.com/mgks/Android-SmartWebView/issues/57 https://segunfamisa.com/posts/chrome-custom-tabs Если кто-то обнаружит ошибки в моем вопросе, пожалуйста, исправьтеэто.