我有一个长轮询forge.request.ajax调用连接到我的服务器以侦听新事件或通知。当应用程序在前台处于活动状态时它可以正常工作,但是一旦应用程序处于backgruond中,它似乎不起作用。
我使用了forge.event模块中的isPaused事件,在新请求进入时更新徽章,但没有任何反应。当我回到应用程序时,我会在应用程序处于后台时收到通知。
当应用程序在后台时,是否可以打开longpoll ajax请求?
答案 0 :(得分:2)
在触发器应用程序处于后台时,您无法进行长时间轮询。
当触发器应用程序进入后台时,JS执行暂停。当应用程序进入后台时会调用appPaused event的监听器,但有一些限制:
回调中可执行的内容因平台而异:
- Android:任何javascript都可以运行,但定时器可能不会被解雇 应用程序恢复,这可以防止不必要的电池使用 应用
- iOS:执行时间很短,确实如此 通常最好假设回调和计时器可能直到开火 该应用程序已恢复。
这不是触发器固有的东西,但一般的移动应用程序,特别是iOS对于在后台运行某些东西的时间非常严格。这种问题通常使用推送通知解决,推送通知更可靠(即使您的应用程序被杀死也能保持正常工作)并且电池更友好。