通过推送通知打开时混合应用程序休眠

Posted

技术标签:

【中文标题】通过推送通知打开时混合应用程序休眠【英文标题】:Hybrid app hybernated when opened via push notification 【发布时间】:2021-08-04 11:54:05 【问题描述】:

我的 ios angular/capacitor 应用程序能够通过电容器事件接收和管理推送通知:

// Method called when tapping on a notification
PushNotifications.addListener('pushNotificationActionPerformed',
  async (action: ActionPerformed) => 
      await this.router.navigateByUrl('url/to/go')
      console.log('logic done);
  
);

点击后发生的事情绝对是单一的:日志确认我的操作已完成,但在我的应用程序中没有任何反应,直到我点击 UI 的任何部分。然后路线正确更新到目的地。 在 iPhone 6 iOS 12.5 中测试

这怎么可能?

【问题讨论】:

【参考方案1】:

我自己找到了解决方案:出于某种原因?无法解释我需要将路由器语句包装在 ngZone 服务中:

this.ngZone.run(() => this.router.navigateByUrl(path));

如果有人能解释这些,我将不胜感激:)

【讨论】:

以上是关于通过推送通知打开时混合应用程序休眠的主要内容,如果未能解决你的问题,请参考以下文章

应用程序打开时如何获得推送通知?

Android - 解析推送通知在打开时崩溃

应用程序打开时推送通知不起作用?

应用程序被杀死/关闭/未打开时的 IOS 推送通知操作

Chrome 通知 - 即使在网站未打开时也能神奇推送

当我的应用程序打开时,我需要推送通知显示,如 Android 中的 whatsapp、Viber(Phonegap)