网络插件 ngCodova 不适用于控制器

Network plugin ngCodova don't work into controller

我正在使用插件通过应用程序获取我的移动设备的状态和连接类型。但是插件只在$ionicPlatform.ready内有效,至少我是这样的,当我运行进入控制器时,连接类型的结果是unknow

插件link:Network Plugin 安装程序 link:CLI installer

代码

angular.module('starter', ['ionic', 'ngCordova'])
    .run(startApp)
    .controller('networkCtrl', networkCtrl);

startApp.$inject = ['$ionicPlatform', '$cordovaNetwork'];

function startApp($ionicPlatform, $cordovaNetwork) {

    $ionicPlatform.ready(function() {

        if (window.cordova && window.cordova.plugins.Keyboard) {
            cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
            cordova.plugins.Keyboard.disableScroll(true);
        }

        if (window.StatusBar) {
            StatusBar.styleDefault();
        }

        var netInfo;
        netInfo = $cordovaNetwork.getNetwork();
        console.log(netInfo); //wifi, 4G, 3G, etc.

    });

}

networkCtrl.$inject = ['$scope', '$cordovaNetwork'];

function networkCtrl($scope, $cordovaNetwork) {

    var netInfo;
    netInfo = $cordovaNetwork.getNetwork();
    console.log(netInfo); //unknow

}

在里面添加这个document.addEventListener("deviceready", function () {

function networkCtrl($scope, $cordovaNetwork) {
    $scope.networkType = null;
    $scope.connectionType = null;
    document.addEventListener("deviceready", function () {
      $scope.networkType = $cordovaNetwork.getNetwork();
      if ($cordovaNetwork.isOnline()) {
        $scope.connectionType = 'Online';
      }
      else if ($cordovaNetwork.isOffline()) {
        $scope.connectionType = 'Offline';
      }
      else {
        $scope.errorMsg = 'Error getting isOffline / isOnline methods';
      }
    }, false);
 });