1

Я хочу, чтобы Chrome CustomTab всегда открывал URL в Chrome CustomTab. Даже если есть внешнее приложение, на которое может пойти намерение. Прямо сейчас пользователю будет предложено открыть его в Chrome или внешнем приложении. Можно ли заставить намерение пройти через Chrome? Я знаю, что WebView будет работать, но CustomTab имеет больше функциональности ...Можно ли сделать намерение Chrome CustomTabs не открывать внешнее приложение?

+0

Вопросы, ищущих помощь должна включать в себя * желаемое поведение *, * конкретная проблема или ошибка * и * самый короткий код, необходимый *, чтобы воспроизвести его ** в самом вопросе **. Вопросы без ** ясного заявления о проблеме ** не полезны для других читателей. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). –

ответ

1

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

Если мое понимание в порядке, то в случае Chrome Browser перед запуском URL-адреса вы должны установить CustomTabIntent с пакетом браузера Chrome.

private void launchURL(String url) { 
    CustomTabsIntent.Builder builderCustomTabs = new CustomTabsIntent.Builder(); 
    CustomTabsIntent intentCustomTabs = builderCustomTabs.build(); 
    intentCustomTabs.intent.setPackage("com.android.chrome"); 
    intentCustomTabs.intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intentCustomTabs.launchUrl(this, Uri.parse(url)); 
} 

Для получения дополнительной информации, проверьте: custom chrome tabs asks for multiple browser to choose

+3

Остерегайтесь того, что другие браузеры, такие как Samsung Internet Browser и Firefox, внедрили или реализуют поддержку пользовательских вкладок. Установив жестко запрограммированный пакет на 'com.android.chrome', пользователи, которые установили предпочтительный браузер как нечто иное, чем Chrome, не будут соблюдать свои предпочтения, и ваше приложение может сломаться на системах, для которых не установлен Chrome. Лучшие практики объясняют, как создать код, который работает с другими браузерами: https://developer.chrome.com/multidevice/android/customtabs#bestpractices – andreban

Смежные вопросы