Android设备上的PhoneGap无法正常工作!

时间:2011-05-27 18:40:48

标签: android mobile cordova

我正在使用phoneGap开发移动应用程序。我正在显示 deviceInfo ,并且它无法在Android模拟器上运行!但适用于BlackBerry模拟器。我正在使用Dreamweaver cs 5.5。该问题的任何解决方案?

这是我的代码:

 // invoked when device is ready 
    function deviceInfo() {
        document.getElementById('window.device.platform').innerHTML = 'window.device.platform = ' + window.device.platform;
        document.getElementById('window.device.version').innerHTML  = 'window.device.version  = ' + window.device.version;
        document.getElementById('window.device.uuid').innerHTML     = 'window.device.uuid     = ' + window.device.uuid;
        document.getElementById('window.device.phonegap').innerHTML = 'window.device.phonegap = ' + window.device.phonegap;

        navigator.network.isReachable("phonegap.com", function(reachability) {
            var states = {};
            states[NetworkStatus.NOT_REACHABLE]                      = 'No network connection';
            states[NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK] = 'Carrier data connection';
            states[NetworkStatus.REACHABLE_VIA_WIFI_NETWORK]         = 'WiFi connection';
            document.getElementById('networkStatus').innerHTML = 'isReachable = ' + states[reachability];
        }, 
        { isIpAddress: false });        
    }       

    // invoked when application is resumed (brought to foregroud)
    function doResume() {
        console.log('doResume()');
    }

    // invoked when application is paused (sent to background)
    function doPause() {
        console.log('doPause()');
    }

    // register PhoneGap event listeners when DOM content loaded
    function init() {
        console.log('init()');
        document.addEventListener("deviceready", deviceInfo, true); 
        document.addEventListener("resume", doResume, false);
        document.addEventListener("pause", doPause, false);
    }

    function unload() {
        console.log('unload()'); 
    }

    function fail(error) {
        navigator.notification.alert(error, null, "Error");
    }

在我的HTML上:<body onload="init()" onunload="unload()">

3 个答案:

答案 0 :(得分:6)

确保cordova脚本的名称拼写正确: 它可能会读

<script type="text/javascript" charset="utf-8" src="cordova-1.x.x.js"></script>

应该在哪里阅读:

<script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script>

答案 1 :(得分:3)

确保AndroidManifest.xml中存在"<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />"

答案 2 :(得分:1)

当我发现我的cordova.js的cordova版本号和cordova.jar文件不匹配时,我可以摆脱这个问题。

从同一个cordova版本获取两个版本为我修复了它。 在muy方面,这是一个耗时且愚蠢的错误。