Phonegap - 获取应用信息

时间:2016-01-05 18:03:58

标签: cordova phonegap-plugins phonegap-build cordova-3

我正在使用下一个插件来获取信息:

https://github.com/whiteoctober/cordova-plugin-app-version

使用下一个代码:

var app_information = {};       

    cordova.getAppVersion.getAppName(function (app_name) {          
        app_information["app_name"] = app_name;
    });

    cordova.getAppVersion.getPackageName(function (app_package_name) {          
        app_information["app_package_name"] = app_package_name;
    });

    cordova.getAppVersion.getVersionCode(function (app_build_identifier) {          
        app_information["app_build_identifier"] = app_build_identifier;
    });

    cordova.getAppVersion.getVersionNumber(function (app_version) {         
        app_information["app_version"] = app_version;
    });

    alert(app_information["app_version"]); // getting undefind 

问题是当我在插件函数中使用alert时,我得到结果,例如:

cordova.getAppVersion.getVersionNumber(function (app_version) {         
    alert(app_version);
});

但当我尝试提醒最终变量" app_information"我得到空变量(数组中没有值)

2 个答案:

答案 0 :(得分:0)

你很快就会警觉()大多数cordova / PhoneGap插件都是异步的,所以你的函数的函数回调可能会在几秒钟后回来,可能。

尝试使用像Promise这样的东西来帮助处理异步回调地狱:)

答案 1 :(得分:0)

您正在尝试访问范围之外的数据,这就是您无法提醒它的原因。只需声明一个全局变量并将数据分配给它,以便您可以在任何地方使用它。

var app_info = ''; 

cordova.getAppVersion.getVersionNumber(function (app_version) {         
        app_info = app_version;
    });

alert(app_info);