有没有办法在android上使用react-native创建后台服务?我希望某种计时器每小时左右醒来,并启动一个简单的JavaScript任务.
是的,可以做到.
反应在本机(Java/Objc),以JS桥的"本土"和JS模块的概念之上的原生操作(模块可以有,你可以从桥的"其他"侧调用的方法).所有的UI东西都建立在桥的顶部(处理生成视图的主"本机"模块称为"UIManager").可以直接使用网桥唯一的限制是通信必须是异步的.
您可以从JAVA代码调用javascript函数.请查看此链接以获取文档.
发布v0.36支持headless-js,现在只支持Android.
https://facebook.github.io/react-native/docs/headless-js-android.html
绝对.事实上,现在很容易在JS(不需要编写本机代码)跨平台实现这一点,反应本机队列并响应本机后台任务.
有一些限制.后台任务只会以最短的时间间隔大约每15分钟触发一次(并且如果它甚至根本不发射,时间不能保证是完美的 - iOS/Android调度程序是一种黑盒子,可以看电池寿命,当前cpu load等,在确定何时触发预定任务时).此任务仅限于执行30秒.
我已经写了一篇关于如何在这里设置所有内容的教程.
如果您在启动和运行时遇到任何困难,请告诉我.