我已经安装了Cordova网络插件,但似乎无法检查网络连接。
这是我的代码
import { Network } from 'ionic-native';
declare var navigator: any;
declare var Connection: any;
this.platform.ready().then(() => {
if(Network.connection === 'none') {
let alert = this.alertCtrl.create({
title: "Internet Connection",
subTitle:"Please Check Your Network connection",
buttons: [{
text: 'Ok',
handler: () => {
this.platform.exitApp();
}
}]
});
alert.present();
}
});
}
我收到警告信息
Native:deviceready在2000ms内没有激活。这可能发生在 插件处于不一致状态。尝试从中删除插件 插件/并重新安装它们。
我怎么能解决这个问题呢?
答案 0 :(得分:12)
在平台下添加此功能。一旦您的应用程序启动并运行,请尝试断开连接并从\重新连接到Internet。您应该在控制台上收到消息。
let disconnectSub = Network.onDisconnect().subscribe(() => {
console.log('you are offline');
});
let connectSub = Network.onConnect().subscribe(()=> {
console.log('you are online');
});
答案 1 :(得分:1)
我利用网络导入和离子事件来管理网络断开连接和连接
checkDisconnection() {
const disconnectSubscription = this.network.onDisconnect().subscribe(() => {
this.checkConnection();
disconnectSubscription.unsubscribe();
this.nav.push('ErrorsPage');
});
}
checkConnection() {
const connectSubscription = this.network.onConnect().subscribe(() => {
this.checkDisconnection();
connectSubscription.unsubscribe();
this.nav.pop();
});
}
完美无缺。您需要的更多信息请在评论中提及
答案 2 :(得分:0)
当应用程序在浏览器上而不是设备或手机时,Navigator.Online仅返回布尔值