Как я могу обеспечить сетевое подключение в приложении Ionic v3, когда у мобильного телефона есть соединение - PullRequest
0 голосов
/ 07 декабря 2018

Мы разрабатываем приложение Ionic v3 с использованием Angular.Здесь мы сталкиваемся с проблемой того, что мы (иногда) теряем подключение к Интернету после входа или выхода из нашей рабочей сети Wi-Fi и перехода с / на сотовые данные.После этого мы не можем получить какие-либо данные из нашего веб-API.Даже если мобильное устройство подключено к сети, невозможно подключить Интернет из нашего приложения.

Следующий код показывает, как мы наблюдаем изменения в сети:

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');
            }
        });
    }
}

Единственный способ до сих порвосстановить это либо включить и выключить режим полета или перезапустить приложение вручную.Это, конечно, неприемлемо для пользователя.

Кто-нибудь сталкивался с такой же проблемой и знает, как ее решить?

Спасибо и наилучшими пожеланиями Тимон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...