javascript - Cordova Android-在设备处于后台模式时继续向服务器发送 AJAX 请求

标签 javascript cordova cordova-plugins

即使设备在后台,我也需要继续向服务器执行 Ajax 请求,我已经尝试过“cordova-plugin-background-mode”https://github.com/katzer/cordova-plugin-background-mode , 请看下面的代码,但由于某些原因它不起作用

如果能解决这个问题,我们将不胜感激

cordova.plugins.backgroundMode.on('activate', function (){
  window.setInterval(function () {
    //Ajax request every 6 S
    }, 6000)
});

最佳答案

It stops sending the Ajax request when the device is in background mode; I need this to check if the user still logged in his/here account

基本上,您希望您的应用将您的用户视为在线,只要他们启动应用并保持手机开机即可?如果这是真的,那么您可以简单地假设他们将永远在线

当您的应用程序被发送到后台时,您必须做任何其他应用程序所做的事情:考虑用户不再在线。不要浪费用户资源和运营商的网络数据只是为了看如果用户的电话还开着,这就毫无意义了。

只要应用处于事件状态并正在运行,您就会根据每个请求更新您的数据库,或者如果没有用户启动的网络事件,则每隔几分钟使用计时器更新一次。

关于javascript - Cordova Android-在设备处于后台模式时继续向服务器发送 AJAX 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49998049/

相关文章:

javascript - 如何根据angular js中的表数组获取下拉列表中的列?

Cordova 和 Google Analytics 插件

javascript - HTML - 多个下拉列表的数组

javascript - Phonegap - 自动重定向到页面

android - 使用 Android 在 PhoneGap 上启动 JQuery Mobile

android - 无法使用 FileOpener2 打开文件,但在 Android 中未出现错误

android - Cordova 5.0.0 上的地理定位插件总是返回超时过期错误

javascript - Cordova 插件不适用于 ionic

javascript - 如何返回每个匹配项的完整单词,而不仅仅是使用 match 匹配的单词部分?

javascript - 如果单击第二个元素,jQuery each() 不会继续对第一个元素执行代码?