将cordova网络插件添加到Ionic Cordova应用程序后出错

时间:2016-03-25 09:46:07

标签: cordova ionic-framework

我收到以下错误:

Unknown provider: $cordovaNetworkProvider <- $cordovaNetwork <- SponsorsCtrl

当我通过带有cordova插件列表的控制台检查项目的根目录时,网络插件是已安装的插件列表中的一个:

cordova-plugin-network-information 1.2.0 "Network Information"

控制器:

.controller('SponsorsCtrl', function ($scope, $cordovaNetwork) {
    var isOnline = $cordovaNetwork.isOnline()
    var isOffline = $cordovaNetwork.isOffline()
})

可能是什么原因导致它未被发现?

2 个答案:

答案 0 :(得分:3)

你确定你有ngCordova设置吗? cordova-plugin-network-information需要它才能工作,因为它是angular.module('myApp', ['ngCordova']) 的包装器。

您应该在包含控制器的文件的第一行中包含以下内容:

ngCordova

重要的部分是&#39; ngCordova&#39;部分。您可以在ngCordova网站here上找到更多说明。

如果您不想使用$('#my-tooltip').tooltip('show'),请按照here列出的说明进行操作。

答案 1 :(得分:0)

您应该使用以下插件:

function checkConnection() { 
    var networkState = navigator.connection.type; 
    var states = {}; 
    states[Connection.UNKNOWN] = 'Unknown connection';
    states[Connection.ETHERNET] = 'Ethernet connection';
    states[Connection.WIFI] = 'WiFi connection';
    states[Connection.CELL_2G] = 'Cell 2G connection';
    states[Connection.CELL_3G] = 'Cell 3G connection';
    states[Connection.CELL_4G] = 'Cell 4G connection'; states[Connection.CELL] = 'Cell generic connection';
    states[Connection.NONE] = 'No network connection';
    alert('Connection.   type: ' + states[networkState]);
}

https://github.com/apache/cordova-plugin-network-information/blob/master/README.md