我正在使用Firebase,而我的应用程序在后台,我想在数据库有新数据时,会按下通知,如下所示:
message.on('child_added', function(data) {
pushNotification(data);
});
我在Google上搜索并找到了这个库: https://github.com/vikeri/react-native-background-job
一切正常,我的后台工作:
const newMessageJob = {
jobKey: "newMessageJob",
job: () => {
pushNotification(newMessage);
}
};
BackgroundJob.register(backgroundJob);
但问题出在这里,它只在固定时间调用(看起来像setInterval):
BackgroundJob.schedule({
jobKey: "newMessageJob",
period: 1000,
timeout: 1000,
exact: true
});
但是我希望它能够动态工作(在添加新数据时触发后台作业),那么我该如何解决这个问题呢?
感谢。
答案 0 :(得分:2)
应用程序关闭时的定期后台任务现在可以通过react native queue和react native background task在纯JS(不需要本机代码)的跨平台上解决,但是您想要做什么(运行正在进行中)目前在React Native中不可能在后台服务而不是周期性任务(并且根据我的理解,甚至没有一般的方法可以本地执行此操作,应用程序使用解决方法)。
跨平台后台任务的当前限制如下: