keepRunning设置为false - 它在Android上真正做了什么?

时间:2014-11-17 15:03:18

标签: android cordova

我有一个应用程序,只要它正在运行并且服务器不断将状态更新推送到客户端,它就会保持与服务器的活动WebSocket连接。

当应用程序发送到后台时,我希望它停止(不关闭)并根据Cordova Doc设置" KeepRunning "到"假"应该做的伎俩。但是,在将应用程序发送到后台后,我仍然会在监视器应用程序和我的websocket的日志中看到网络流量,因此它并没有完全停止。

所以我认为我只是在应用程序进入后台之前就终止网络连接,但问题是:"暂停" -Event 之后发生应用程序被带回到前台,就在"恢复" -Event火灾之前。

你们是怎么处理这件事的?这适用于您的情况吗?

1 个答案:

答案 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 用法的相关信息