当应用未在Cordova中运行时如何进行后台处理?

时间:2017-09-01 07:44:45

标签: cordova ionic-framework service background

我正在尝试暂停应用时执行某些功能。我用过 -

https://github.com/katzer/cordova-plugin-background-mode

当应用程序正在运行时,它可以正常运行,当应用程序停止运行然后,我使用了 - https://github.com/katzer/cordova-plugin-local-notifications

它会在应用被杀时发出通知,但除非应用正在运行,否则我无法处理任何事件。当应用程序在一段时间后被杀死时,是否有人试图像ajax调用那样做?当应用程序没有运行时,是否还有其他存储库可以提供后台服务?

(在这种情况下,推送通知对我来说不是解决方案)

感谢。

1 个答案:

答案 0 :(得分:0)

您正在寻找这个插件:https://ionicframework.com/docs/native/background-fetch/,它允许您在用户的“活动”时间(在Apple定义的时间)内在后台运行30秒的代码。

  const config: BackgroundFetchConfig = {
    stopOnTerminate: true, // Set true to cease background-fetch from operating after user "closes" the app. Defaults to true.
  };

  backgroundFetch.configure(config)
     .then(() => {
         console.log('Background Fetch initialized');
         //Your code to be repeatedly executed here

         this.backgroundFetch.finish();

     })
     .catch(e => console.log('Error initializing background fetch', e));

对我而言,文档并不清楚,但传递给then的方法是在操作系统唤醒的任何时间间隔调用的方法。