当手机已连接时,如何确保Ionic v3应用程序中的网络连接

时间:2018-12-07 14:05:46

标签: angular ionic-framework ionic3

我们正在使用Angular开发Ionic v3应用程序。 在这里,我们面临的问题是,在进入或离开工作wifi网络并从/向蜂窝数据更改后,有时(有时)失去互联网连接。之后,我们将无法从网络api检索任何数据。 即使移动设备具有网络连接,也无法从我们的应用程序内部连接Internet。

以下代码显示了我们如何观察网络变化:

import { Network } from '@ionic-native/network';

export enum ConnectionStatus {
    Online,
    Offline
}

@Injectable()
export class NetworkHelper {

    private status: BehaviorSubject<ConnectionStatus> = new BehaviorSubject(ConnectionStatus.Offline);

    constructor(private platform: Platform, public network: Network, public eventCtrl: Events) {
        this.platform.ready().then(() => { 
            this.initializeNetworkEvents();
        }
    }

    public initializeNetworkEvents() {
        this.network.onDisconnect().subscribe(() => {
            if (this.status.getValue() === ConnectionStatus.Online) {
                console.log('WE ARE OFFLINE');
                this.eventCtrl.publish('network:offline');
            }
        });

        this.network.onConnect().subscribe(() => {
            if (this.status.getValue() === ConnectionStatus.Offline) {
                console.log('WE ARE ONLINE');
                this.eventCtrl.publish('network:online');
            }
        });
    }
}

到目前为止,恢复的唯一方法是打开和关闭飞行模式或手动重新启动应用程序。对于用户来说,这当然是不可接受的。

有人遇到相同的问题并且知道如何解决吗?

感谢和问候 Timon

0 个答案:

没有答案
相关问题