Ich versuche, einen Thread zu erstellen, um den Netzwerkstatus der App zu überprüfen, so dass es an meine entfernte Datenbank senden kann. Wie kann ich das in ionic 2 mit Ionic-native handhaben?Threads in Ionic 2
Mit freundlichen Grüßen
Ich versuche, einen Thread zu erstellen, um den Netzwerkstatus der App zu überprüfen, so dass es an meine entfernte Datenbank senden kann. Wie kann ich das in ionic 2 mit Ionic-native handhaben?Threads in Ionic 2
Mit freundlichen Grüßen
Zuerst müssen Sie Netzwerk-Plugin
ionic plugin add cordova-plugin-network-information
mor info here
dann benötigen Sie einen Anbieter zu überprüfen, den Netzwerkstatus
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;
}
}
}
jetzt installieren Sie kann es verwenden, wo immer Sie möchten
Wenn Sie dies wie folgt vor:
können Sie die Service-worker.js registrieren, die mit dem Ionic 2 App zur Verfügung gestellt wurde.
Hier finden Sie weitere Dokumentation finden, wie Service-Mitarbeiter arbeiten:
https://developers.google.com/web/fundamentals/getting-started/primers/service-workers
Sie benötigen vielleicht eine Kombination aus der Reaktion von @armin und dies zu tun.
Install:
ionic plugin add cordova-plugin-network-information
Dann:
Spiel mit so etwas wie dieses (dieser Code müssen innerhalb Ihrer ionischen App hinzugefügt werden, nicht in Ihrem Service-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.
});
Ich denke, dass Sie so etwas wie dies wollen.
Vielen Dank. Ich frage nicht über einen Thread im Browser, sondern auf einem Mobiltelefon mit Cordova –
Wie kann ich es so einstellen, dass es den Netzwerkstatus einer bestimmten Seite automatisch oder vielleicht nach 1 Sekunde hält. Danke –
Fügen Sie einfach das Abonnement zu Netzwerk auf dem ngOnInit-Hook innerhalb der gewünschten Seite hinzu. Denken Sie daran, beide Abonnements auf dem ngOnDestroy abzumelden. –
Ich denke, dass er eine Lösung mit einem Service-Arbeiter will, um diesen zusätzlichen Thread zu bekommen. –
@camaron, genau, ich brauche einen Service-Mitarbeiter, der weiter überwacht, ob es eine Netzwerkverbindung gibt, damit er einige Informationen über eine entfernte Datenbank senden kann. Du weißt wie man es macht? Mit freundlichen Grüßen –
@amin arghavani. Ich danke dir sehr. Wie kann ich einen Service-Mitarbeiter verwenden, um diesen zusätzlichen Thread zu erhalten? –