2013-07-26 103 views
4

我正在開發一個phonegap應用程序(使用2.7),我在「在線」和「離線」事件中遇到了麻煩。似乎它不像文檔中所述的那樣工作。phonegap offline/online event not working

我的代碼包含首先調用deviceready事件。

function init(){ 
    document.addEventListener('deviceready', arrangeConnectionListener, false); 
} 

function arrangeConnectionListener(){ 
    document.addEventListener('online', onOnline, false); 
    document.addEventListener('offline', onOffline, false); 
} 

$(document).ready(init); 

但是,偵聽器上的函數沒有被觸發。我試圖延遲呼叫在線/離線聽衆(1500毫秒),但仍然無濟於事。我還嘗試在arrangeConnectionListener中放置一個控制檯日誌,以確保deviceready事件正在觸發。

任何人有解決方法的想法或遇到此問題?

謝謝!

+0

您是否在文檔中嘗試過他們的示例? http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html#online – CBIII

+0

是的。仍然無法正常工作。 :( – jason

+0

你使用的是什麼設備?我還鏈接到一個非常舊的版本,我的意思是[一個](http://docs.phonegap.com/en/3.0.0/cordova_events_events.md。html#online)雖然 – CBIII

回答

3

我在IOS 6上遇到了Cordova 3.1的類似問題。雖然在文檔中沒有清楚提及,但先安裝Connection插件。安裝完成後,您可以設置您的事件處理程序。

document.addEventListener("deviceready", onDeviceReady, false); 
    document.addEventListener("online", onOnline, false); 
    document.addEventListener("offline", onOffline, false); 
2

是的,@Orijit是正確的。 這不是有據可查的,爲了使用您需要的在線/離線事件:

1)添加了「連接」的PhoneGap插件

$ cordova plugin add org.apache.cordova.network-information 

2)修改config.xml和AndroidManifest.xml中:

(in app/res/xml/config.xml) 
<feature name="NetworkStatus"> 
    <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" /> 
</feature>  

(in app/AndroidManifest.xml) 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

3)使用在線/離線事件上述

4所解釋的),例如建立一個新的構建 ,機器人:C ordova構建Android


DOCS

連接插件:

http://docs.phonegap.com/en/3.3.0/cordova_connection_connection.md.html#Connection

在線/離線事件:

http://docs.phonegap.com/en/3.3.0/cordova_events_events.md.html#online

+0

這是'cordova plugin add',而不是'cordova plugin rm' – Timo

1

在線/離線事件都涉及到連接Phonegap的API。 由於仿真器不支持與其他API類似的API(例如加速度計,指南針等) 因此,此在線/離線事件不會在仿真器上觸發。

但是,如果您在具有4.3.0以上版本的Andriod手機上運行應用程序,它將被執行。 -D:/myphonegap/project_name/bin/project_name.apk中的.apk文件和 -install在您的andriod手機上。

相關問題