android - 如何在android native中每2秒检查一次webview的http url连接
问题描述
我有一个在 android 本机应用程序上运行的 webview。我需要一个轮询服务来确保 webview 的 http url 状态代码为 200,否则会引发错误。一旦连接恢复并显示状态代码 200 错误就会消失。基本上互联网连接可用,但服务器通信错误
我依靠 onReceivedError() 方法,该方法在 http 错误时被调用,异步任务是通过传递 url 来检查状态是否为 200 来执行的。但是 onReceivedError() 在 30 秒后被调用 - 1 分钟后即使连接丢失也是如此。
预期:一旦连接丢失并且 http url 不可访问错误应立即显示
解决方案
请按照以下步骤-
创建(不调用)一个android后台服务并使用递归方法放置一个计时器。在该方法中,创建与您的 url 的 http url 连接并检查状态代码。
创建一个广播接收器,连接到具有 web 视图的活动。
在服务状态码不是 200 时 ping 广播接收器。
在广播接收的 webView 活动中执行您的任务。
推荐阅读
- swift - 如何在swift 5中隐藏状态栏?
- node.js - 错误:opencv4nodejs linux 缺少模块
- c# - 加载游戏不会加载玩家的位置
- python - 在自定义 Python 类中动态重新分配 __len__
- javascript - Safari 输入文件单击 javascript 在安全事件中不起作用
- excel - 如何在 VBA 中管理从 ADsDSOObject 提供程序检索的日期对象?
- c#-4.0 - 如何反序列化下面的json数组
- label - 将添加源中的点添加到 Mapbox 标签
- json - pySpark 从 json 文件转置数据帧并添加标题;
- python - 将列表格式化为字符串(与 ArcPy 的按属性函数选择兼容的字符串格式)