关于水龙头重定向的Ionic 4 Firebase通知不适用于this.ngZone.run(()

时间:2019-05-22 09:23:15

标签: angular ionic-framework ionic4

当推送通知到来且应用程序处于后台时,我试图将应用程序重定向到文章。当基于接收到的数据点击通知时,应用有时会重定向到文章,但有时仅重定向到主页。

我调试了代码,发现代码块始终正确运行。即使重定向到主页而不是通知页面,也始终在控制台中打印“导航成功”。在通知页面上,我正在ngOnInit函数中获取文章内容。已成功从http api获取数据。这意味着已调用页面,但由于某些原因无法呈现。我完全空白,可能是什么原因。请帮助。

private notificationSetup() {
   this.fcm.getToken();
   this.fcm.onTokenRefresh();
   this.fcm.onNotifications().pipe(tap(msg => console.log(msg))).subscribe(
  (msg) => {
    if(msg.tap) {
      this.ngZone.run(() => this.router.navigate(['notification', { id: msg.id, action: msg.action }])).then(e => {
          if (e) {
            console.log(e);
            console.log("Navigation is successful!");
          } else {
            console.log(e);
            console.log("Navigation has failed!");
          }
        }
      );          
    } else {         
      if (this.platform.is('ios')) {
        this.presentToast(msg.aps.alert);
      } else {
        this.presentToast(msg.body);
      }
    }
  });
 }

0 个答案:

没有答案