Cordova 仅触发 wifi 的离线网络事件

Posted

技术标签:

【中文标题】Cordova 仅触发 wifi 的离线网络事件【英文标题】:Cordova trigger offline network event for wifi only 【发布时间】:2018-05-12 04:27:10 【问题描述】:

我安装了插件cordova-plugin-network-information http://cordova.apache.org/docs/en/8.x/reference/cordova-plugin-network-information/

它包含一个名为“离线”的事件。此事件触发良好,但我的问题是它似乎仅根据我的应用启动时可用的初始连接触发。

例如:

用户使用 4G 网络并且有本地 WiFI 连接。我只希望在 WiFi 离线时触发离线。目前,它只有在我禁用 4G 时才会触发。

我可以为 WiFi 触发离线事件的唯一方法是,如果我的设备已经完全以关闭 4G 的方式启动,并且 WiFi 是唯一打开的接口。

有人对只监控 wifi 离线事件的最佳方式有任何想法吗?

谢谢

【问题讨论】:

【参考方案1】:

如plugin's documentation中所述:

离线事件在之前连接的设备丢失时触发 网络连接,使应用程序无法再访问 互联网。它依赖于与连接 API 相同的信息,并且 当 connection.type 的值变为 NONE 时触发。

这意味着它会在WiFi 和数据连接都不可用时触发,并且您无法更改该行为。您可能可以 fork 插件并对其进行编辑以满足您的需求,但这需要大量工作并且您的插件不会得到任何进一步的更新。

【讨论】:

是的,有道理。我已经根据自己的需要做了自己的解决方法,但我完全理解。感谢您提供信息。

以上是关于Cordova 仅触发 wifi 的离线网络事件的主要内容,如果未能解决你的问题,请参考以下文章

iOS 中的离线通知

关于 SAP Fiori 应用的离线使用

Cordova 打印插件仅搜索打印机(在同一网络中具有启用 wifi 的打印机),不打印或不给出任何错误

ios模拟器中的离线/在线事件

百度地图离线导航要怎样使用?

如何改进iOS App的离线使用体验