React Native JS没有'应用程序处于后台时无法执行
React Native JS doesn't execute while app is in background
我正试图让推送通知在ios React Native应用程序中运行,但已经完成了一半。我遇到的一个问题是,在应用程序再次激活之前,我在应用程序处于后台时显示通知的逻辑不会执行。我正在使用Socket.io并侦听事件,但要处理的代码(比如onChat事件)直到应用程序处于活动状态才运行。我已确认插座仍处于连接状态。
有一件事很奇怪,那就是它在模拟器中工作,但在我的设备上不工作。也许有一些性能优化可以在应用程序被放在后台时停止JS的执行。
当appstate处于后台时,我如何让JS执行?
我所做的是在通过套接字接收到事件并运行时调用一个函数:
PushNotificationIOS.presentLocalNotification({
alertBody: `New Chat: ${chat.message}`,
});
多亏了这个堆栈溢出问答,我发现代码没有在后台状态下执行,为挂起状态做准备。后台模式是一种过渡状态,用于准备应用程序成为"后台";屏幕截图";。在那之后,套接字只会在很短的一段时间内保持连接,但最终会被终止。
在进行推送通知的情况下,我需要将其移交给Parse或其他服务,以便在应用程序处于后台时将通知推送到我的应用程序。
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JavaScript执行暂时挂起页面
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 当js函数's已执行
- 哪个先执行
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- 如何让chrome扩展在页面加载的后台执行功能
- “在后台”执行 JavaScript
- React Native JS没有'应用程序处于后台时无法执行
- Chrome扩展:如何使后台等待执行
- 是否可以在chrome选项卡上执行后台页面的功能
- 我的后台php脚本需要执行javascript.怎样
- 是否可以通过AJAX调用执行后台PHP服务器任务,该任务不会锁定您的网站
- Chrome应用程序:从后台脚本执行在应用程序窗口中定义的函数
- 如何使用Javascript执行Phonegap应用程序的后台更新
- 执行多个ajax请求在后台Chrome扩展
- 在后台执行验证表单的ajax调用时,不会触发(或忽略)Click Event
- 当应用程序被终止或后台执行时,推送通知不会启动
- 需要在后台执行代码
- 在后台线程执行Javascript代码