Android webview不显示由服务人员保存的脱机页面

Android webview不显示由服务人员保存的脱机页面,android,webview,android-webview,service-worker,offline,Android,Webview,Android Webview,Service Worker,Offline,我有一个服务工作者的网页,在离线模式下,移动Chrome仍然可以显示我的offline.html 现在我有了一个Android应用程序,它带有一个webview来显示页面,但是当没有互联网时,会出现一个Android错误页面,上面写着“网页不可用”无法加载xxxxxx的网页,因为:net:ERR\u失败” 我怎样才能解决它?我可以阻止在Andoird应用程序中检查internet连接吗?多谢各位 您需要覆盖自己的WebViewClient,并在shouldOverrideUrlLoading p

我有一个服务工作者的网页,在离线模式下,移动Chrome仍然可以显示我的offline.html

现在我有了一个Android应用程序,它带有一个webview来显示页面,但是当没有互联网时,会出现一个Android错误页面,上面写着“网页不可用”
无法加载xxxxxx的网页,因为:net:ERR\u失败”


我怎样才能解决它?我可以阻止在Andoird应用程序中检查internet连接吗?多谢各位

您需要覆盖自己的
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项目资产文件夹中

你是否在网页中使用任何外部资源,如外部JS、CSS或其他脚本?也许是原因。