В веб-представлении Android не отображается автономная страница, сохраненная служащим - PullRequest
0 голосов
/ 12 марта 2019

У меня есть веб-страница с работником сервиса, которая в автономном режиме мобильного Chrome может по-прежнему отображать мой offline.html.

Теперь у меня есть приложение Android с веб-просмотром для отображения страницы, но когда естьнет интернета, есть страница с ошибкой Android, на которой написано "Webpage not available The webpage at xxxxxx could not be loaded because: net:ERR_FAILED"

Как мне ее решить?Могу ли я предотвратить проверку интернет-соединения в приложении Andoird?Большое спасибо!

1 Ответ

1 голос
/ 12 марта 2019

Вам необходимо переопределить свой собственный WebViewClient и проверить подключение к Интернету в shouldOverrideUrlLoading

public boolean checkInternetConnection(Context context) {   

    ConnectivityManager con_manager = (ConnectivityManager) 
      context.getSystemService(Context.CONNECTIVITY_SERVICE);

    return (con_manager.getActiveNetworkInfo() != null
        && con_manager.getActiveNetworkInfo().isAvailable()
        && con_manager.getActiveNetworkInfo().isConnected());
}

class CustomWebViewClient extends WebViewClient {
  @Override
  public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (!checkInternetConnection(this)) {
      view.loadUrl("file:///android_asset/filename.html");
    } else {
      view.loadUrl(url);
    }     
    return true;
  }
}

И, конечно, установите свой пользовательский WebViewClient на WebView

webview.setWebViewClient(new CustomWebViewClient())

Кроме того, поместите filename.html в папку ресурсов вашего проекта Android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...