cordova-plugin-network-information 1.3.0“网络信息”未检测到应用程序何时在线
Posted
技术标签:
【中文标题】cordova-plugin-network-information 1.3.0“网络信息”未检测到应用程序何时在线【英文标题】:cordova-plugin-network-information 1.3.0 "Network Information" not detecting when app is online 【发布时间】:2017-09-25 09:23:14 【问题描述】:我正在 ionic1 中开发一个 ios 应用程序。 对于网络连接和断开连接,我使用的是 cordova 插件,即 cordova-plugin-network-information 1.3.0 "Network Information"。
也是我的 cordova 6.4.0 版
当我启动应用程序并使用凭据登录时,我正在断开 wifi 连接,当时OnOffLine event
被触发,但一段时间后我打开 wifi 时 OnOnLine Event
没有触发。
这是我的代码。
$scope.onLoad = function ()
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady()
document.addEventListener("offline", onOffline, false);
document.addEventListener("online", onOnline, false);
function onOffline()
var alertPopup = $ionicPopup.alert(
title: 'Connection Failed!',
template: 'Please check your network is running!'
);
console.log('onOFFLINE');
// Handle the online event
function onOnline()
console.log('onONLINE');// here is problem.
当我断开 wifi onOffline 事件触发时,onOffline 工作得很好。但是当 wifi 重新连接时,onOnline 事件不会被触发。
【问题讨论】:
对此的任何回复我从过去 2 天开始就被困在这里 【参考方案1】:尝试使用ngCordova。要安装在 ionic 中,请参阅 link
ngCordova 为您提供了一个围绕实现承诺的插件的角度包装器。
这是来自网络插件here 的 ngCordova 页面的示例。
module.controller('MyCtrl', function($rootScope, $cordovaNetwork)
document.addEventListener("deviceready", function ()
var type = $cordovaNetwork.getNetwork()
var isOnline = $cordovaNetwork.isOnline()
var isOffline = $cordovaNetwork.isOffline()
// listen for Online event
$rootScope.$on('$cordovaNetwork:online', function(event, networkState)
var onlineState = networkState;
)
// listen for Offline event
$rootScope.$on('$cordovaNetwork:offline', function(event, networkState)
var offlineState = networkState;
)
, false);
);
【讨论】:
我试过这个解决方案,但它不起作用....nikola-breznjak.com/blog/codeproject/… 你试过诊断插件github.com/dpa99c/cordova-diagnostic-plugin#iswifienabled 此插件是否适用于 2G/3G/4G 等移动网络。或者它仅适用于 wifi 网络以上是关于cordova-plugin-network-information 1.3.0“网络信息”未检测到应用程序何时在线的主要内容,如果未能解决你的问题,请参考以下文章