Ionic 如何防止本地通知在电容器JS打开应用程序?

pcww981p  于 2022-12-08  发布在  Ionic
关注(0)|答案(1)|浏览(159)

在Android上,我在一个带有Capacitor JS(https://capacitorjs.com/docs/apis/local-notifications)的Ionic项目中使用LocalNotifications API。因此,用户可以直接响应通知,我在有效负载中添加了一些动作类型,如下所示:

LocalNotifications.registerActionTypes({
    types: [
        {
            id: "workout-1",
            actions: [
                {
                    id: ":+1:",
                    title: "👍",
                    destructive: true,
                },
                {
                    id: ":muscle:",
                    title: "💪",
                    destructive: true,
                },
                {
                    id: "free_text",
                    title: "Respond",
                    input: true,
                },
            ],
        },

这使消息能够以如下方式呈现:

然而,即使点击一个表情符号,它也会打开应用程序。我只希望它能触发对点击的表情符号执行的操作。iOS上就是这样工作的。有什么想法吗?

nbewdwxp

nbewdwxp1#

您必须在应用程序安装阶段设置事件侦听器:

LocalNotifications.addListener('localNotificationActionPerformed', (notification) => {
  const tappedActionId = notification.actionId;
  // TODO: do action depending on actionId
}

当用户点击通知或任何操作时,应用程序将打开,此功能将运行。当用户点击通知(而不是操作)actionId = 'tap'

相关问题