移动应用程序中的本地通知



为了让您概述我的工作,我有一个使用Firebase作为数据库的离子移动应用程序。IM实施的功能之一是本地通知。这是我的代码

html代码

   <button ion-button full (click)="scheduleNotification()">schedule</button>
   <button ion-button full (click)="scheduleNotification2()">schedule</button>

因此,这是HTML代码,其中一个按钮允许您单击或安排通知

打字稿代码

      import { Component } from '@angular/core';
      import { NavController, Platform} from 'ionic-angular';
      import { LocalNotifications } from '@ionic-native/local-notifications';
    @Component({
    selector: 'page-home',
     templateUrl: 'home.html'
   })
    export class HomePage {
    constructor(public navCtrl: NavController, private 
    localNotif:LocalNotifications, private platform:Platform) {
     }
    scheduleNotification() {
     this.platform.ready().then(()=>{
      this.localNotif.schedule({
    
        title:'Attention',
        text:'Rk notification',
        at: new Date(new Date().getTime() + 1 * 5000),
       
      });
      });
    }
     
     scheduleNotification2() {
     this.platform.ready().then(()=>{
      this.localNotif.schedule({
    
        title:'Attention',
        text:'Rk notification',
        at: new Date(new Date().getTime() + 1 * 5000),
       
      });
      });
    }

  
}

因此,这里的问题是,当我单击两个按钮以弹出通知时,它只会覆盖另一个。因此,它仅显示一个通知。我想展示两者而不经过。我该怎么做?

您需要将id传递给您的localNotification,它必须是一个数字,默认情况下它是0,因此,如果您不声明ID,则会覆盖先前的计划通知。

如果用户能够操纵通知(例如编辑,删除,更新(,我建议在某个地方保存此ID,以便用户可以这样做。

由于ID需要是唯一的,因此有很多生成ID的方法,因为我不知道您的用户会多久创建通知,我将使用最简单的生成Math.random()的方法。

scheduleNotification() {
 this.platform.ready().then(()=>{
  this.localNotif.schedule({
    id: Math.round(Math.random() * 1000000)), // this'll generate an id of 7 random digits
    title:'Attention',
    text:'Rk notification',
    at: new Date(new Date().getTime() + 1 * 5000),
  });
  });
}

我可以给出的另一个建议是在可能的最小时间单元中操纵操纵时间,请始终尝试使用毫秒或秒。

希望这个帮助。

您可以使用警报conrtroller局部注释的限制 访问https://ionicframework.com/docs/api/components/alert/alertcontroller/

相关内容

  • 没有找到相关文章

最新更新