我有一个应用程序,即使在用户按下后退按钮后也应该连续运行。它必须每半小时使用 POST 方法向我的远程服务器中的数据库发送一些数据。即使在用户按下后退按钮后也会发生这种情况,并且应用程序应该只在手机关闭时停止。
虽然我已经设置了 HTTP 适配器来发送 POST 数据,还设置了一个 HTML 文件来在启动时调用适配器程序,但我不知道如何使其成为后台或运行哪些代码来保持每半小时发送一次 POST 数据。
我有一个应用程序,即使在用户按下后退按钮后也应该连续运行。它必须每半小时使用 POST 方法向我的远程服务器中的数据库发送一些数据。即使在用户按下后退按钮后也会发生这种情况,并且应用程序应该只在手机关闭时停止。
虽然我已经设置了 HTTP 适配器来发送 POST 数据,还设置了一个 HTML 文件来在启动时调用适配器程序,但我不知道如何使其成为后台或运行哪些代码来保持每半小时发送一次 POST 数据。
听起来你在 Android 上运行。
所以,我不认为你应该在按下后退按钮时这样做......或者你至少应该向用户展示退出或移至后台的选择(你可以使用WL.App覆盖后退按钮.overrideBackButton)。
也就是说,我不熟悉移动到后台而不是退出的编程方法(可能存在现有的 Cordova 插件或其他方式)。
完成此操作的另一种方法是使用 Android 后台服务,但是,Worklight 在其本机 API 中不支持执行此操作。
至于 Worklight 应用程序在后台时会发生什么,我自己从未尝试过,所以我完全不能确定,但尝试使用WL.Client.setHeartBeatInterval保持与 Worklight Server 的连接并编写一些逻辑发送适配器请求。看看这是否对你有用...
我发现了这个:
如何在 phonegap 中创建插件以在后台运行应用程序?
也许您可以将它按摩到您的 Worklight 项目中(以防上面的心跳方法不起作用)。
更多后台运行信息:
Android:
IOS:
使用 WL.App.overrideBackButton. 覆盖后退按钮,删除该方法中的退出函数并将其留空(如果您希望后台进程在单击时不退出)