2012-03-27 82 views
4

的PhoneGap deviceready事件我正在开发使用PhoneGap 1.5.0一个Web应用程序,但我不能开火deviceready事件。没有发射

cordova-1.5.0.js我使用的是位于PhoneGap 1.5.0\lib\android\,我在几个Android设备没有成功测试。

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Device Properties Example</title>  
    <script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script> 
    <script type="text/javascript" charset="utf-8">  

    document.addEventListener("deviceready", onDeviceReady, false); 

    function onDeviceReady() { 
     alert("onDeviceReady"); 
    } 

    </script> 
    </head> 
    <body> 
    <p id="deviceProperties">Loading device properties...</p> 
    </body> 
</html> 
+0

什么错误日志? – 2012-03-27 14:58:33

+0

你如何建议我检查错误日志? – 2012-03-27 15:07:26

+0

通过Android Logcat。将您的设备连接到电脑,您将获得设备的日志。还要告诉我你在试用哪个操作系统版本? – 2012-03-27 15:10:14

回答

2

首先你需要测试它作为一个应用程序,而不是在Web浏览器上。 其次,如果你想使用地理定位,那么你可以使用它像这样

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

// Wait for PhoneGap to load 
// 
document.addEventListener("deviceready", onDeviceReady, false); 

// PhoneGap is ready 
// 
function onDeviceReady() { 
    navigator.geolocation.getCurrentPosition(onSuccess, onError); 
} 

// onSuccess Geolocation 
// 
function onSuccess(position) { 
    var element = document.getElementById('geolocation'); 
    element.innerHTML = 'Latitude: '   + position.coords.latitude    + '<br />' + 
         'Longitude: '   + position.coords.longitude    + '<br />' + 
         'Altitude: '   + position.coords.altitude    + '<br />' + 
         'Accuracy: '   + position.coords.accuracy    + '<br />' + 
         'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '<br />' + 
         'Heading: '   + position.coords.heading    + '<br />' + 
         'Speed: '    + position.coords.speed     + '<br />' + 
         'Timestamp: '   + new Date(position.timestamp)   + '<br />'; 
} 

// onError Callback receives a PositionError object 
// 
function onError(error) { 
    alert('code: ' + error.code + '\n' + 
      'message: ' + error.message + '\n'); 
} 

</script> 
0

我无法让自己科尔多瓦-1.5.0火deviceready在Android(API 8)..切换到1.6后没有问题的预期.1,但是。