2012-03-27 102 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,但是。