应用程序关闭时处理电容器本地通知上的点击事件

问题描述 投票:0回答:1

我在使用 Capacitor 和 Quasar 的应用程序中遇到问题。我们利用 @capacitor/local-notifications 插件来处理本地通知,并且我们有一个在单击通知时触发的方法,使用以下侦听器:

await LocalNotifications.addListener('localNotificationActionPerformed', handleLocalNotificationAction);

但是,当应用程序关闭(不在前台)时,这个侦听器显然不会触发。我们需要一种在通知点击时执行方法的方法,例如在特定 URL 打开应用程序或即使应用程序关闭也执行特定操作。

我们尝试了一些事情,例如:

  • 应用启动后立即调用监听器;
  • 使用某种后台服务来保持侦听器正常工作;

预先感谢您的帮助!

capacitor quasar localnotification capacitor-plugin
1个回答
0
投票

经过一番尝试,我找到了解决问题的方法。基本上监听器被调用,但我用来处理的方法有一些未加载的依赖项(在我的例子中是 Vue Router)。

我刚刚添加了一个重试方法,该方法将等待启动时间并重试,结果证明它有效!

我会发布我的功能,也许它可以帮助某人:

const openAccordingToPlatform = async (params) => {
  if (Platform.is.capacitor) {
    pushWithRetry(params);
    return;
  }

  const url = router().resolve(params).href;
  openOnNewTab(url);
};
© www.soinside.com 2019 - 2024. All rights reserved.