Localonic LocalNotification: я неоднократно получаю уведомления при использовании триггера совпадения даты - PullRequest
0 голосов
/ 31 марта 2019

Я использую LocalNotifications от ionic-native для запуска локальных уведомлений каждый раз, когда наступает 6 вечера. Однако, когда это 6 вечера, я получаю спам от уведомлений. Я хочу получать только одно уведомление в 18:00, а не в 18:00.

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { Platform, AlertController } from '@ionic/angular';
import { LocalNotifications } from '@ionic-native/local-notifications/ngx';

@Component({
  selector: 'app-mypage',
  templateUrl: './mypage.page.html',
  styleUrls: ['./mypage.page.scss'],
})
export class MyPagePage implements OnInit {

  constructor(private router: Router, private plt: Platform, private localNotifications: LocalNotifications, private alertCtrl: AlertController) {
    this.initPlatform();
  }

  ngOnInit() {

  }

  private initPlatform() {
    this.plt.ready().then(() => {
      this.localNotifications.on('click').subscribe(res => {
        let msg = res.data ? res.data.mydata : '';
        this.showAlert(res.title, res.text, msg);
      });

      this.localNotifications.on('trigger').subscribe(res => {
        let msg = res.data ? res.data.mydata : '';
        this.showAlert(res.title, res.text, msg);
      });
    });
    this.scheduleNotification();
  }

  private scheduleNotification() {
    this.localNotifications.schedule({
      id: 1,
      title: 'Session terminée',
      text: 'Donnez votre avis',
      data: { mydata: 'Donnez votre avis' },
      trigger: { every: { hour: 18, minute: 0 } },
      foreground: true
    });
  }

  private showAlert(header, sub, msg) {
    this.alertCtrl.create({
      header: header,
      subHeader: sub,
      message: msg,
      buttons: ['Ok']
    }).then(alert => alert.present());
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...