检查 url 是否被缓存 webview android

2023-11-27

我使用 webview 加载 html 页面和 url。

我只想在互联网可用或 url 内容由 Web 视图缓存时加载 url。

如何检查 url 是否已缓存而不必创建自己的 缓存在某些外部路径上。

   WebSettings ws = wv.getSettings();                                                                             
   ws.setJavaScriptEnabled(true);                                                                                 
   ws.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);                                                          
     wv.setOnTouchListener(this);                                                                                 
   wv.setWebViewClient(new WebViewClient() {                                                                      
       @Override                                                                                                  
       public boolean shouldOverrideUrlLoading(WebView view, String url) {                                        
           if (!url.contains("http")) {                                                                           
               view.loadUrl(url);                                                                                 
           } else {                                                                                               
               if (Utils.isConnectingToInternet(thisActivity)) {                                                  
                   view.loadUrl(url);                                                                             

               }                                                                                                  
           }                                                                                                      
           view.loadUrl(url);                                                                                     
           return false;                                                                                          
       } 

我已经提到:

WebView缓存数据目录?

检查文件是否已经存在于webview缓存android中

如何将webView缓存移至SD?

Android webview 检查页面是否在缓存中


设置webview缓存模式LOAD_CACHE_ELSE_NETWORK。

重写 WebViewClient 方法:

@SuppressWarnings("deprecation")
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            if (view.getUrl().equals(failingUrl)){
                showInternetConnectionError();
            }
            super.onReceivedError(view, errorCode, description, failingUrl);
        }

        @TargetApi(android.os.Build.VERSION_CODES.M)
        @Override
        public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
            onReceivedError(view, error.getErrorCode(), error.getDescription().toString(), request.getUrl().toString());
        }

如果互联网连接可用,它将从服务器加载网页,否则从缓存加载。如果网页在缓存中不可用,则会显示互联网连接错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查 url 是否被缓存 webview android 的相关文章

随机推荐

  • 通过 sbt 传递 JVM 参数

    我正在尝试将第 3 方 jar 添加到我的 java 库路径中 如果我调用 sbt Djava library path a 3rd party lib jar 那么它适用于第一次调用 of run main MyClass在 sbt 内部
  • 如何使用 Selenium 获取元素颜色

    I want to check the color of an element in an html page The color of this element is set with a javascript look at the i
  • 如何在 C# 中管道 powershell 命令

    目标是获得 Exchange 2010 站点的最小数据库 因此我尝试从 C 运行以下 powershell 命令 Get MailboxDatabase server Exchange2010 Status select object Na
  • Android 中操作栏的显示后退按钮不会返回

    我正在开发一个 Android 应用程序 我将 ActionBar 与 AppCompactActivity 一起使用 在我的应用程序中 我将后退按钮添加到操作栏 但是当我点击它时 它不会返回到之前的活动 例如 我从活动 1 启动活动 2
  • 智能应用横幅;适用于 Android/Google Play 的 Windows 应用商店应用 HTML 元标记等效吗?

    智能应用横幅是 iOS 6 中最近为 iOS 设备添加的功能 它涉及简单添加一个元标记 当使用 Mobile Safari 访问时 该元标记会检查手机上是否存在应用程序 并显示访问者是否想要启动或安装该应用程序的选项 Windows 应用商
  • 在 TextInput 外部点击时模糊 TextInput

    我在使用时遇到问题TextInput预期的行为是 当我点击它时 它会聚焦并显示键盘 而当我点击它周围 输入之外的任何地方 时 TextInput 应该模糊并且键盘将消失 目前这种情况还没有发生 无论我点击哪里 文本输入都会保持焦点 这是预期
  • 为什么 UIWebView 不应该放在 UIScrollView 中?

    问题 有谁知道在 iOS 上避免滚动视图内的 Web 视图的技术原因 假设您愿意禁用网络视图本身的滚动 如果你看在 Apple 文档中的 UIWebView 他们指出 重要的 您不应将 UIWebView 或 UITableView 对象嵌
  • 具有 AES 和 rsaEncryption 的 EnvelopedCMS(PKCS#1 v1.5 填充而不是 v2 (OAEP) 填充)可能吗?

    我曾经使用过 NET 来实现加密目的 到目前为止 我将 3DES Oid 1 2 840 113549 3 7 与 rsaEncryption Oid 1 2 840 113549 1 1 1 RSAES PKCS1 v1 5 结合使用 虽
  • 使用 PHP 在 JSON 中创建空对象的最佳方法?

    要创建一个空的 JSON 对象 我通常使用 json encode object null 将 null 强制转换为对象是可行的 但是还有其他更好的方法和 或此解决方案有任何问题吗 推荐方法 json decode 将返回一个stdClas
  • 在 Python 中设置乘积

    A product of n copies of a set S is denoted Sn For example 0 1 3 is the set of all 3 bit sequences 0 1 3 0 0 0 0 0 1 0 1
  • Python:如何在请求中使用 Chrome cookie

    我正在寻找一种从 Chrome 浏览器 默认 获取 cookie 的方法 并通过请求使用它 我当然已经四处搜寻 并发现了例如这个 如何使用Python从网络浏览器获取cookie 但这不再起作用了 因为 Chrome 不断更新 他们在答案中
  • 为什么action第二次运行时没有触发Effect?

    Effect Effect loadDocsEffect this actions pipe ofType myActionTypes LoadDocs mergeMap action gt this myService getDocs m
  • VB.NET 到 C# - my.computer.getfiles()

    此 VB NET 代码的等效 C 代码是什么 My Computer FileSystem GetFiles My 类是 VB NET 特定的 您可以使用 System IO Directory 类的静态方法 例如目录 GetFiles
  • 限制弹性盒项目的高度[重复]

    这个问题在这里已经有答案了 我有一个包含 2 个项目的弹性盒 方向 行 第二项的文字内容很长 我希望第二个项目与第一个项目一样高 并且有一个滚动条 这可能吗 wrap display flex item 1 height 100px bac
  • 在 Ruby 块中使用“return”

    我正在尝试使用 Ruby 1 9 1 作为嵌入式脚本语言 以便在 Ruby 块中编写 最终用户 代码 这样做的一个问题是 我希望用户能够在块中使用 return 关键字 这样他们就不必担心隐式返回值 考虑到这一点 我希望能够做这样的事情 d
  • 正在寻找 Delphi 7 代码来检测程序是否以管理员权限启动?

    我在寻找working 明显地 德尔福7代码所以我可以检查是否我的程序是以管理员权限启动的 提前致谢 重要更新 到目前为止 查看了答案中的代码后 我意识到我的问题可能不太清楚 或者至少不完整 我想知道我的 Delphi 7 程序是否以 以管
  • Symfony/Doctrine - createQueryBuilder orderBy

    我有一个具有财产 预算 的 团队 实体 我只想打印团队属性 并且希望预算最大的团队出现在第一位置 第二位置 第三位置 DESC 但使用这段代码 它不起作用 我不明白为什么 索引动作 控制器 em this gt getDoctrine gt
  • 如何从 cv::Mat 转换为 CvArr?

    我花了很多时间搜索如何从 cv Mat 或 CvMat 转换为 CvArr 但没有任何收获 请帮助我 谢谢 Mat img imread C MyPic jpg CV LOAD IMAGE GRAYSCALE IplImage tmp im
  • 如何在opengl中绘制y轴或x轴的圆柱体

    我只想用opengl画一个圆柱体 我找到了很多样本 但它们都在 z 轴上绘制了圆柱体 我希望它们位于 x 或 y 轴上 我怎样才能做到这一点 下面的代码是在 z 方向绘制圆柱体的代码 我不想要它 GLUquadricObj quadrati
  • 检查 url 是否被缓存 webview android

    我使用 webview 加载 html 页面和 url 我只想在互联网可用或 url 内容由 Web 视图缓存时加载 url 如何检查 url 是否已缓存而不必创建自己的 缓存在某些外部路径上 WebSettings ws wv getSe