"网络信息" cordova插件无法正常工作

时间:2015-03-06 10:28:22

标签: javascript android cordova phonegap-plugins cordova-plugins

我目前正在使用少量的cordova插件开发一个相当大的PhoneGap项目,并且我遇到了使用网络信息plgin检索设备连接类型的困难。

应该注意的是,我正在使用命令行工具来构建我的PhoneGap项目,而不是Adobe的“Build”服务。

phonegap和cordova cli工具的版本如下:

% phonegap -v
4.2.0-0.23.0
% cordova -v
4.2.0

以下是当前使用的插件列表:

% phonegap plugins
com.darktalker.cordova.screenshot 0.1.0 "Screenshot"
nl.x-services.plugins.socialsharing 4.3.14 "SocialSharing"
org.apache.cordova.console 0.2.13 "Console"
org.apache.cordova.device 0.3.0 "Device"
org.apache.cordova.inappbrowser 0.6.0 "InAppBrowser"
org.apache.cordova.network-information 0.2.15 "Network Information"

以下是负责使用插件的代码,它位于一个更大的对象中,只有在我打开项目的某个页面时才会被调用:

checkDeviceConnexion:function(){
    require(['cordova', 'cordova_plugins'], function(cordova){
        checkConnexion();
    });
    function networkConnexion(){
        if (navigator.connection.type == 'none'){ //Connection.NONE
            return false;
        }
        return true;
    }
    function checkConnexion(){
        if (!networkConnexion()){
            app.showMsgError(tradu[lang]['msg-error-connexion']);
        }
    }
}

我正在对android进行测试我正在使用adb作为调试应用程序的方法。当我运行上面的代码时,这就是我得到的:

I/chromium(12465): [INFO:CONSOLE(1145)] "Uncaught TypeError: Cannot read property 'type' of undefined", source: file:///android_asset/www/js/app.js (1145)

我多次废弃并重建了android项目,以确保所有插件都已正确复制,但没有帮助。

更令人费解的是,adb的输出暗示网络管理员应该以某种方式正常工作,如下所示:

D/CordovaNetworkManager(21764): Connection Type: wifi
D/CordovaNetworkManager(21764): Connection Extra Info: "atelier8"

但是我无法在导航器对象中看到连接属性。

有没有人遇到过类似的问题?关于如何解决这个问题的任何想法?

提前感谢任何提示或回答。

0 个答案:

没有答案