为什么有通知时后台通知任务没有运行?博览会通知

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

我正在使用 Expo 构建一个 React Native Android/IOS 应用程序,我需要有一个预定的通知进来并运行一些代码,无论该应用程序是在前台还是后台。

我目前使用 Expo 定义了这个后台任务:

TaskManager.defineTask(BACKGROUND_NOTIFICATION_TASK, ({data, error, executionInfo}) => {
    console.log('Received a notification in the background!');
    Notifications.scheduleNotificationAsync({
        content: {
            title: "HOORAY",
            body: 'HOORAY',
            data: {type: 'pre'}
        },
        trigger: {
            seconds: 10,
        },
    });
});

Notifications.registerTaskAsync(BACKGROUND_NOTIFICATION_TASK);

这一切都是在全局范围内完成的文档

我尝试使用

Notifications.scheduleNotificationAsync
(如下所示)并尝试从 Firebase 仪表板发送推送通知,我收到它们很好,但无论应用程序是在前台还是后台,后台通知任务都不会运行。

Notifications.scheduleNotificationAsync({
  content: {
    title: "Example title",
    body: 'Example body',
    data: {test: 'true'}
  },
  trigger: {
    seconds: 10,
  },
});

还值得注意的是,任务正在注册中,

TaskManager.getRegisteredTasksAsync()
给了我这个
[{"options": {}, "taskName": "BACKGROUND-NOTIFICATION-TASK", "taskType": "remote-notification"}]

根据我从文档中了解到的,我在

TaskManager
中设置的后台通知任务应该在收到通知时运行,无论应用程序是在前台还是后台,按照文档

我正在真实的 Android 设备 (Pixel 7 Pro) 上运行 Expo(版本 51.0.10)开发版本。

我哪里出错了?

firebase push-notification expo expo-notifications
1个回答
0
投票

根据以下问题,后台任务仅适用于纯数据通知。

https://github.com/expo/expo/issues/29622

© www.soinside.com 2019 - 2024. All rights reserved.