@Chesterfield25

Почему webView приложение открывает ссылки в браузере?

У меня есть webView приложение в общей сложности оно работает корректно основной url открывается в webview, но когда я пытаюсь переходить по внутренним ссылкам на сайте то они открываются не в самом приложение а непосредственно в браузере
61c773ef89781103566840.jpeg
На изображение видно боковое меню если в нем нажать на любую ссылку то она открывается уже в браузере! Как это исправить?

Код приложения

// включаем поддержку JavaScript
        WebSettings webSettings = binding.webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        binding.webView.setWebViewClient(webViewClient);
        // указываем страницу загрузки
        binding.webView.loadUrl("https://site.com/");
  • Вопрос задан
  • 333 просмотра
Решения вопроса 1
@Chesterfield25 Автор вопроса
Решил эту проблему может кому то тоже поможет. Само приложение немного изменил.

// включаем поддержку JavaScript
        WebSettings webSettings = binding.webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        WebViewClient webViewClient = new WebViewClient();
        binding.webView.setWebViewClient(webViewClient);
        // указываем страницу загрузки
        binding.webView.loadUrl("https://site.com/");


А так же создал приватный класс

private class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        if ("www.example.com".equals(request.getUrl().getHost())) {
      // This is my website, so do not override; let my WebView load the page
      return false;
    }
    // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
    Intent intent = new Intent(Intent.ACTION_VIEW, request.getUrl());
    startActivity(intent);
    return true;
  }
}


Как указано в инструкции https://developer.android.com/guide/webapps/webview
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
Bell Integrator Ульяновск
До 400 000 ₽