Я пытаюсь создать поток, чтобы продолжать проверять сетевой статус приложения, чтобы он мог отправить мою удаленную базу данных. Как я могу справиться с этим в ионной 2, используя Ionic-native.Темы в Ionic 2
С наилучшими пожеланиями
Я пытаюсь создать поток, чтобы продолжать проверять сетевой статус приложения, чтобы он мог отправить мою удаленную базу данных. Как я могу справиться с этим в ионной 2, используя Ionic-native.Темы в Ionic 2
С наилучшими пожеланиями
Прежде всего, необходимо установить сетевой Plugin
ionic plugin add cordova-plugin-network-information
Мор информацию here
, то вам нужен поставщик, чтобы проверить состояние сети
import { Injectable } from '@angular/core';
import { Platform } from 'ionic-angular';
import { Network } from 'ionic-native';
@Injectable()
export class NetworkService {
onDevice: boolean;
constructor(
private platform: Platform,
) {
this.onDevice = this.platform.is('cordova');
}
isOnline(): boolean {
if (this.onDevice && Network.type !== 'none') {
return true;
} else {
return navigator.onLine;
}
}
}
теперь вы может использовать его там, где вам нравится
Если вы будете следовать этому:
Вы сможете зарегистрировать сервис-worker.js, которая была предоставлена с приложением Ионные 2.
Здесь Вы можете найти более подробную документацию о том, как работают работники сферы обслуживания:
https://developers.google.com/web/fundamentals/getting-started/primers/service-workers
Вы, возможно, нужно сделать сочетание реакции @armin и этот.
Установка:
ionic plugin add cordova-plugin-network-information
Тогда:
Играть с чем-то вроде этого (этот код нужно добавить внутри вашего ионным приложения, а не в сервис-worker.js):
import { Network } from 'ionic-native';
//watch network for a disconnect
let disconnectSubscription = Network.onDisconnect().subscribe(() => {
console.log('network was disconnected :-(');
// Warn your service worker about this and create a queue or
//something to notify your server when you get connection again.
});
//watch network for a connection
let connectSubscription = Network.onConnect().subscribe(() => {
console.log('network connected!');
// We just got a connection but we need to wait briefly
// Notify to your service-worker.js about this and hit your server.
});
Я думаю, что вы хотите что-то вроде этого.
Большое спасибо. Я не спрашиваю о потоке в браузере, но на мобильном телефоне, используя cordova –
. Как я могу поместить его таким образом, чтобы он сохранял статус сети на определенной странице автоматически или, возможно, через 1 секунду. Спасибо –
Просто добавьте подписку на Сеть на крюке ngOnInit, внутри желаемой страницы. Не забывайте отменить подписку на подписки на ngOnDestroy. –
Я думаю, что он хочет получить решение с сервисным работником, чтобы получить эту дополнительную нить. –
@camaron, в точности, мне нужен сотрудник службы, который будет продолжать слушать, есть ли сетевое подключение, чтобы он мог отправлять некоторую информацию в удаленной базе данных. Вы знаете, как это сделать? С наилучшими пожеланиями –
@amin arghavani. Огромное спасибо. Как я могу использовать сервисного работника для получения этого дополнительного потока? –