Intereting Posts
Как определить, находятся ли координаты X и Y внутри моей кнопки? Как «FBReader» выполняет разбиение на страницы html-файлов в epub Что такое «android: fontFamily =« sans-serif-light »в Java-коде? Эквивалент ImageView scaleType 'centerCrop' для растровой растягивающей силы тяжести Убедитесь, что видео-буфер сохраняется после изменения ориентации, не изменяя вручную изменения конфигурации Android Studio: выполнение не выполнено для задачи: app: compileDebugAidl FAILED Как добавить рекламу в приложения для Android? Получите текст с выделенными элементами? Загрузите картинку Android в React Native Есть ли веская причина для заголовка ListView, занимающего позицию? Типы строк не разрешены (в 'id' со значением '@ id / bAdd') Для Android, следует ли использовать тип данных float чаще для моей игры или просто бросать плавать при рисовании? Тихая установка на устройствах Android Кнопка «Назад» на панели действий – Android. Как идти «назад»? Как установить кнопку «серый» и «незаметный»?

Откройте внешние ссылки в браузере с веб-браузером Android

У меня есть этот код, но не потому, что он работает, он продолжает открываться в webview, и я хочу, чтобы ссылки не принадлежали моему веб-сайту открытым в вашем браузере по умолчанию. Есть идеи? благодаря

private class CustomWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if(url.contains("message2space.es.vu")){ view.loadUrl(url); return true; }else{ return super.shouldOverrideUrlLoading(view, url); } } } 

Solutions Collecting From Web of "Откройте внешние ссылки в браузере с веб-браузером Android"

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

 private class CustomWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if(url.contains("message2space.es.vu")) { view.loadUrl(url); } else { Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(i); } return true; } } 

Здесь очень сладкое и короткое решение

 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); context.startActivity(i); return true; } 

Поскольку API-уровень 24 shouldOverrideUrlLoading(WebView view, String url) , устарел.

Современное решение:

  webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { Intent intent = new Intent(Intent.ACTION_VIEW, request.getUrl()); view.getContext().startActivity(intent); return true; } }); 

Ниже у меня очень простое решение ..

Например, для загрузки facebook.com на веб-просмотр и весь другой URL-адрес в браузере->

– Настройка onCreate

 webView.loadUrl("http://m.facebook.com"); webView.setWebViewClient(new MyAppWebViewClient()); 

Сделайте внутренний класс ..

Открытый класс MyAppWebViewClient расширяет WebViewClient {

 // handling external links as intents @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if( Uri.parse(url).getHost().endsWith("facebook.com") ) { return false; } Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); view.getContext().startActivity(intent); return true; } 

}