【问题标题】:Android Webview gives net::ERR_CACHE_MISS messageAndroid Webview 给出 net::ERR_CACHE_MISS 消息
【发布时间】:2015-08-18 16:47:23
【问题描述】:

我构建了一个 Web 应用程序,并希望创建一个具有显示我的 Web 应用程序的 web 视图的 android 应用程序。按照 Google Developer 的说明创建应用后,我成功地将其安装在我的 Android 5.1.1 手机上。

但是,当我第一次运行应用程序时,webview 会显示以下消息:

网页不可用

无法将 [Lorem Ipsum URL] 处的网页加载为:

net::ERR_CACHE_MISS

【问题讨论】:

标签: android android-studio webview


【解决方案1】:

我通过更改我的 AndroidManifest.xml 解决了这个问题。

旧:<uses-permission android:name="android.permission.internet"/>
新:<uses-permission android:name="android.permission.INTERNET"/>

【讨论】:

  • 伙计,你拯救了我的一天!升级到 Cordova 7.0.1 后,没有 XHR 工作。我手动将其添加到清单中,然后……砰! :)
  • 没有互联网,但有互联网!大的那个! :)
【解决方案2】:

答案集合!我只想将所有答案合并为一个综合答案。

1. 检查<uses-permission android:name="android.permission.INTERNET" /> 是否存在于manifest.xml 中。 确保它嵌套在<manifest> 而不是<application>。感谢sajid45Liyanis Velazquez

2.确保您使用的是<uses-permission android:name="android.permission.INTERNET"/>,而不是已弃用的<uses-permission android:name="android.permission.internet"/>。非常感谢alan_shicreos

3. 如果最低版本低于 KK,请检查您是否拥有

if (18 < Build.VERSION.SDK_INT ){
    //18 = JellyBean MR2, KITKAT=19
    mWeb.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
}

if (Build.VERSION.SDK_INT >= 19) {
        mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
}

因为仅在 KK (SDK 19) 中添加了正确的 webview。感谢DevavrataMike ChanSeong KimLiyanis Velazquez

4. 确保您没有webView.getSettings().setBlockNetworkLoads (false);。感谢TechNikh 指出这一点。

5.如果一切都失败了,请确保您的 Android Studio、Android SDK 和模拟器映像(如果您正在使用)已更新。如果您仍然遇到问题,只需打开一个新问题,然后在您的 URL 下方发表评论。

【讨论】:

  • 如果一切都失败了,请在模拟器中卸载并重新安装应用程序。
  • 从模拟器重新安装应用程序成功
【解决方案3】:

我尝试了上述解决方案,但以下代码帮助我解决了这个问题。

if (18 < Build.VERSION.SDK_INT ){
    //18 = JellyBean MR2, KITKAT=19
    mWeb.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
}

【讨论】:

  • Buildmweb 变量在哪里?
  • @MichaelPacheco Build 来自 Android 系统,mweb 是 webview 对象
【解决方案4】:

对于任何与 Internet 相关的内容,您的应用必须在 ManifestFile 中具有 Internet 权限。我通过在AndroidManifest.xml 中添加权限解决了这个问题

<uses-permission android:name="android.permission.INTERNET" />

【讨论】:

    【解决方案5】:

    为了解决 Webview Android 中的这个错误, 首先检查 Manifest.xml 中的权限, 如果没有在那里定义,那么定义为这样。 &lt;uses-permission android:name="android.permission.INTERNET"/&gt;

    【讨论】:

      【解决方案6】:

      Android WebView 修复ERR_CACHE_MISS 错误解决方案

      您只需在app/src/main/AndroidManifest.xml 文件中添加一行代码&lt;uses-permission android:name="android.permission.INTERNET"/&gt;,如下图所示。

      1. 之前

      1. 之后

      【讨论】:

      • 这个解决方案帮助了我!
      【解决方案7】:

      使用

      if (Build.VERSION.SDK_INT >= 19) {
              mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
          }
      

      它应该可以解决错误。

      【讨论】:

      • 这个答案对我帮助很大,谢谢。但我使用WebSettings.LOAD_NO_CACHE
      【解决方案8】:

      还要确保您的代码不具有 setBlockNetworkLoads 的 true

      webView.getSettings().setBlockNetworkLoads (false);
      

      【讨论】:

        【解决方案9】:

        我遇到了类似的问题,这只是因为多余的空格:

        &lt;uses-permission android:name="android.permission.INTERNET "/&gt;

        删除后效果很好:

        &lt;uses-permission android:name="android.permission.INTERNET"/&gt;

        【讨论】:

          猜你喜欢
          • 2020-07-04
          • 1970-01-01
          • 1970-01-01
          • 2015-12-18
          • 1970-01-01
          • 1970-01-01
          • 2015-02-15
          • 2014-10-29
          • 2013-08-27
          相关资源
          最近更新 更多