Клиент Android WebChrome предлагает / открывает ссылку в браузере, а не в WebView - PullRequest
0 голосов
/ 30 августа 2018

При запуске действия веб-просмотр должен загрузить указанный URL-адрес, но в симуляторе он запускает собственный браузер и на физическом устройстве предлагает открыть URL-адрес в браузере.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_webview);
    WebView wv = findViewById(R.id.my_webview);
    WebSettings webSettings = wv.getSettings();
    wv.setWebChromeClient(new WebChromeClient());
    webSettings.setJavaScriptEnabled(true);
    wv.loadUrl("http://google.com");
}

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

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Это происходит, если вы не добавляете WebViewClient в ваш экземпляр WebView. Чтобы включить навигацию в том же WebView, вам нужно установить WebViewClient для вашего экземпляра WebView wv. Добавьте следующую строку:

 wv.setWebViewClient(new WebViewClient());
0 голосов
/ 30 августа 2018

Я думаю, вы должны реализовать метод shouldOverrideUrlLoading():

shouldOverrideUrlLoading(WebView view, String url) {
    view.loadUrl(url);
    return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...