phonegap离线/在线活动不起作用

phonegap offline / online event not working

本文关键字:活动 不起作用 在线 离线 phonegap      更新时间:2023-09-26

我正在开发一个phonegap应用程序(使用2.7),在"联机"answers"脱机"事件中遇到了问题。它似乎没有像文件上所说的那样起作用。

我的代码包括首先调用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中放置控制台日志,以确保设备就绪事件正在启动。

有人有解决方法的想法或遇到过这个问题吗?

谢谢!

我在IOS6上使用Cordova 3.1时遇到了类似的问题。虽然文档中没有明确提到,但请先安装Connection插件。安装完成后,您可以设置事件处理程序。

    document.addEventListener("deviceready", onDeviceReady, false);
    document.addEventListener("online", onOnline, false);
    document.addEventListener("offline", onOffline, false);
是的,@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) 创建新生成例如,安卓系统:cordova构建安卓


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

在线/离线事件与Phonegap的Connection API相关。由于Emulator不支持此API,类似于其他API(如加速计、指南针等)因此,Emulator上不会触发此联机/脱机事件。

但如果您在版本超过4.3.0的Andriod手机上运行应用程序,它将被执行。-复制D:/myphonegap/project_name/bin/project_name.apk中的.apk文件,然后-安装在你的andriod手机上。

文档没有联机/脱机事件。Windows do.

window.addEventListener

而不是

window.document.addEventListener