【问题标题】:Android - No Connection Page working just in the first run of the appAndroid - 无连接页面仅在应用程序的第一次运行时工作
【发布时间】:2018-03-29 03:30:07
【问题描述】:

我正在使用WebView 查看网站内容。如果没有互联网连接,我使用以下代码显示错误页面:

    mywebview.setWebViewClient(new WebViewClient(){
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

            mywebview.loadUrl("file:///android_asset/error.html");

        }
    });
}

如果这是第一次打开应用程序,它工作正常,但如果你在没有互联网连接的情况下再次打开它,错误页面不会出现,但它使用缓存版本并显示网站..你可以打开您之前打开的任何页面 - 第一次 - 但其他页面在您尝试打开时冻结并且不执行任何操作。

我需要的是在您每次打开应用程序时以及在应用程序运行时监控互联网连接,并显示一条消息告诉用户没有连接。

【问题讨论】:

  • 如果你想清除缓存,那么下次加载 webview 时它将不支持缓存页面使用“mywebview.clearCache(true);”。为什么要两次调用“setWebViewClient(new WebViewClient())”?
  • @Abhishek 谢谢..您的清晰缓存代码工作正常并解决了问题的第一部分..现在每次应用程序在没有互联网的情况下工作时都会出现错误页面..但我仍然想显示一条消息如果用户在使用该应用程序时失去连接,因为发生这种情况时网站内容冻结......并且两次调用它是一个错误,我编辑了代码..
  • 你是说需要检测没有互联网连接?从互联网获取信息,您正在调用一些 api 或 url。要调用这样的 api 或加载 url,您使用任何纯 android 代码或 javascript 或 jquery 什么样的代码?所以我也可以试试。
  • @Abhishek 它是 javascript ...

标签: android webview monitor


【解决方案1】:

希望我的回答对你有所帮助。要监控互联网连接,请使用此方法并在您想检查互联网连接时调用此方法。 如果此方法返回 false,则 Internet 连接未激活并调用警报对话框向用户显示没有 Internet 连接。

   public boolean networkcheck() {

   ConnectivityManager connectivityManager = 
   (ConnectivityManager)  getSystemService(CONNECTIVITY_SERVICE);
   NetworkInfo activeNetworkInfo =  onnectivityManager.getActiveNetworkInfo();   

   return activeNetworkInfo != null && activeNetworkInfo.isConnected();

}

【讨论】:

  • 我的应用中只有一个 webview .. 我怎么能用 webview 特定的内容来调用它!?
【解决方案2】:

清除缓存需要调用

mywebview.clearCache(true); //Which avoid loading page from cache

没有检测到互联网连接

当你使用 javascript 时,你必须首先考虑一些情况

  1. 设备没有互联网连接
  2. 如果从设备到您的服务器的请求失败(这很棘手)

对于上述第一点,即没有互联网连接到设备this link 可以帮助您。

对于以上第二点,即如果从设备到您的服务器的请求失败,您需要检查您的请求超时和其他可能性。你会得到更多的讨论here

【讨论】:

  • 该 js 代码在 PC 上与我一起工作,但在 android 设备上却无法使用.. 网站内容仍然冻结,无法捕获 js 代码.. 我在使用和不使用时尝试过webview清除缓存代码
  • 让我检查一下。我会尝试发送。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多