在angularjs的Phonegap ondeviceready事件

时间:2015-04-28 09:12:15

标签: javascript angularjs cordova

您好我正在使用angularjs创建一个phonegap应用。这是我的控制器:

module.controller('MainController', function($scope, $window, $rootScope){
$scope.funda="new Funda";
    $scope.deviceReady = false;
    document.addEventListener("deviceready", onDeviceReady, false);

    console.log('mainCtrl is loaded');

    function onOnline(){
                alert('device is in online mode'); //cannot reach here
                $rootScope.online = true;
                $scope.online = $rootScope.online;
    }
    function onOffline(){
                alert('device is not ready');
                $rootScope.online = false;
                $scope.online = $rootScope.online;
            }

    function onDeviceReady() {
       $scope.$apply(function() {
            alert('device is ready'); //Its Reaching here fine
            document.addEventListener("online", onOnline, false);
            document.addEventListener("offline", onOffline, false);
            $scope.deviceReady = true;
        });
    }
});

似乎onDeviceReady此功能正在触发,但之后我可以达到onOnline功能。

是否还有另一种方法可以在angularjs中调用deviceready函数。

谢谢!

1 个答案:

答案 0 :(得分:1)

我自己找到的答案。这很容易。 Angular有自己的方法来解决这个问题。这是你必须做的。

function onDeviceReady() {
     alert(navigator.network.connection.type);
}

这将告诉您连接类型。