Cordova计划任务

8
我正在使用Cordova开发一款移动应用程序(平台:Android,iOS)。我的应用程序需要每小时ping一个URL以获取数据。我希望即使应用程序关闭了,它仍然可以ping URL。
我在谷歌上搜索并找到了以下插件:
  1. https://github.com/katzer/cordova-plugin-local-notifications
  2. https://github.com/katzer/cordova-plugin-background-mode
我需要像第二个插件一样的插件,但是也可以像第一个插件一样在应用程序关闭时工作,就像定期通知一样。
是否有这样的cordova插件?或者使用cordova无法执行此类后台任务。
谢谢。

1
有相同的问题。 - Andrey K.
1个回答

5
我曾经遇到过类似的问题,需要每隔几分钟选择经纬度并计算距离,但仅使用后台插件无法解决,因为当手机进入睡眠状态时,它会停止工作。所以我必须确保手机不会进入睡眠状态。
所以我使用了Power Management插件和Background Mode插件一起使用,效果很好。
Background Mode插件: https://github.com/katzer/cordova-plugin-background-mode Power Management插件: https://github.com/boltex/cordova-plugin-powermanagement
if( ionic.Platform.isAndroid() ){
cordova.plugins.backgroundMode.enable();

window.powerManagement.dim(function() {
console.log('Wakelock acquired');
}, function() {
console.log('Failed to acquire wakelock');
});
window.powerManagement.setReleaseOnPause(false, function() {
console.log('setReleaseOnPause successfully');
 }, function() {
console.log('Failed to set');
 });

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接