cordova-plugin-network-information 1.3.0“网络信息”未检测到应用何时在线

时间:2017-09-25 09:23:15

标签: cordova ionic-framework cordova-plugins

我正在开发ionic1中的ios应用程序。 网络连接和断开连接我正在使用cordova插件,即 cordova-plugin-network-information 1.3.0“网络信息”

我的 cordova版本6.4.0

当我启动应用程序并使用凭据登录时,我正在解除当时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事件没有被解雇。

1 个答案:

答案 0 :(得分:3)

尝试使用ngCordova。要以离子形式安装,请参阅此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);
});