【问题标题】:Detect network connectivity without subscription无需订阅即可检测网络连接
【发布时间】:2019-04-23 09:01:25
【问题描述】:
如Cordova Network Information Plugin 中所述,我们必须订阅online 和offline 事件来检测网络连接状态。
有没有办法在不监听这些事件的情况下知道网络状态是什么?
示例:
在从我的移动应用执行操作之前,我需要知道是否有网络连接:如果有连接,我会执行我的操作,否则我会显示一条消息,指示用户他必须在线。
【问题讨论】:
标签:
ionic-framework
cordova-plugins
【解决方案1】:
在Network 类型中,如果网络处于离线状态,则type 属性包含值none。
这是一个检查网络离线状态的服务示例:
import { Injectable } from "@angular/core";
import { Network, Connection } from '@ionic-native/network/ngx';
@Injectable({providedIn: 'root'})
export class NetworkService {
constructor(private network: Network) {}
public isOffline() {
return this.network.type.toLowerCase() == Connection[Connection.NONE].toLowerCase();
}
}