在 Android 上使用 Cordova 将功能安排在将来 运行

Schedule a function to run at a future time with Cordova on Android

我有一个 ionic 应用程序,我想稍后安排通知,并稍后调用其他功能。

我现在拥有的:

    var now = new Date();
    var _10SecondsFromNow = new Date(now.getTime() + (10 * 1000));
    $cordovaLocalNotification.schedule({
      id: 1,
      title: 'Title here',
      text: 'Text here',
      at: _10SecondsFromNow
    }, function(){
      console.log('callback') // never called
    })
    .then(function(){
      console.log('then'); // called right away
    });

.then 承诺会立即运行,而不是在 10 秒后收到通知。我还注意到 docs 中有一个回调可以传递给 localNotification,但是,它永远不会被调用。

我愿意以任何方式安排未来的任务,我不限于来自 cordova 的 localNotification

如果您监视 triggerclick 事件,则可以使用 localNotifications 来执行此操作,具体取决于您想要实现的目标。

显示通知后将触发 trigger 事件,这似乎是您想要的,看起来像这样:

$rootScope.$on('$cordovaLocalNotification:trigger', function(event, notification, state) {
  // Your function here
})

或者您可以使用 click 事件,只有在用户点击通知并打开您的应用时才会触发该事件,如下所示:

$rootScope.$on('$cordovaLocalNotification:click', function(event, notification, state) {
  // Your function here
})

这两个事件都有记录 here, but the official Cordova plugin documentation may also be of use, you can find it here