在打开/关闭Wifi之前,Ionic Network插件无法识别连接

时间:2019-01-10 11:44:08

标签: cordova ionic-framework ionic2 ionic3

我的应用程序在Ionic 3上安装了Network Plugin

我已将其放在我的 Login.ts 上,如下所示:

login.ts

private SUB_networkConnect: any;
private SUB_networkDisconnect: any;
private HAS_CONNECTION: boolean;

constructor( private network: Network ){
    this.SUB_networkConnect = this.network.onConnect().subscribe(() => {
        setTimeout(() => {
            this.HAS_CONNECTION = true;
            console.log(this.HAS_CONECTION);
        }, 3000);
    });

    this.SUB_networkDisconnect = this.network.onDisconnect().subscribe(() => {
        this.HAS_CONNECTION = false;
        console.log(this.HAS_CONECTION);
    });
}

我使用它,是因为首次登录必须为用户下载资产和其他内容。

如果我没有连接,则不允许用户身份验证。

因此,当我关闭然后打开Wifi上网时,它将启动触发控制台,并且我无法进行身份验证,因为标志HAS_CONNECTION用于允许或不允许我继续的条件

你们知道如何处理吗?

我也尝试将其放在app.component.ts上,也没有成功

1 个答案:

答案 0 :(得分:1)

@Rafael de Castro,正如我所看到的,您的问题不是在“登录”中,而是在检测是否存在连接(Wifi)。

但是在您的代码中,您不检查它是否已连接,而是在事件中确定它是否已建立连接,请在变量this.HAS_CONNECTION!中

尝试放置此行

this.HAS_CONNECTION = (this.network.type === 'wifi' || this.network.type === '3g' || this.network.type === '4g');