我有一个应用程序,只要它正在运行并且服务器不断将状态更新推送到客户端,它就会保持与服务器的活动WebSocket连接。
当应用程序发送到后台时,我希望它停止(不关闭)并根据Cordova Doc设置" KeepRunning "到"假"应该做的伎俩。但是,在将应用程序发送到后台后,我仍然会在监视器应用程序和我的websocket的日志中看到网络流量,因此它并没有完全停止。
所以我认为我只是在应用程序进入后台之前就终止网络连接,但问题是:"暂停" -Event 之后发生应用程序被带回到前台,就在"恢复" -Event火灾之前。
你们是怎么处理这件事的?这适用于您的情况吗?
答案 0 :(得分:3)
似乎WebSocket.java无法处理来自 PluginManager 的 onPause 事件,这意味着无论 keepRunning >,套接字都无法关闭strong>配置设置。
根据这篇文章Phonegap / Cordova pause event triggered on resume for android; can not turn off audio as a result,您可以将 keepRunning 设置为 true 以解决暂停事件的问题,并且它不会影响当前 WebSocket 功能。
如果你使用任何代码,你可能需要自己停止JS定时器。
您可以在我的帖子here
中找到有关 keepRunning 用法的相关信息