DeviceEventEmitter 在屏幕锁定时停止向应用程序发送事件

Posted

技术标签:

【中文标题】DeviceEventEmitter 在屏幕锁定时停止向应用程序发送事件【英文标题】:DeviceEventEmitter stops emitting events to application when screen locked 【发布时间】:2015-06-10 15:53:45 【问题描述】:

我正在使用本机模块捕获位置信息并尝试通过 DeviceEventEmitter 将其发送到我的应用程序:

[self.bridge.eventDispatcher sendDeviceEventWithName:@"locationUpdated" body:locationEvent];

这在屏幕打开时效果很好。但是,当屏幕被锁定时,React Native 会停止将这些事件推送到我的应用程序。它最终会推动它们,但只有在屏幕解锁之后。这是次优的 - 有没有办法让 React Native 继续推送它们,即使屏幕被锁定,这样我的应用程序也可以继续处理它们?

【问题讨论】:

【参考方案1】:

我想知道这是否与“[Timer] React Events not fired if the device is locked and screen turned off”有关?这将取决于 DeviceEventEmitter 是如何在内部实现的,但这肯定是一个很好的起点,并且 jaygarcia 在评论线程中给出了更多提示,他看到了与您相同的问题。好消息是,关于该问题的最后一条评论表明该问题很快就会得到解决。

【讨论】:

以上是关于DeviceEventEmitter 在屏幕锁定时停止向应用程序发送事件的主要内容,如果未能解决你的问题,请参考以下文章

DeviceEventEmitter 与 NativeAppEventEmitter

iOS MPMoviePlayerViewController 在屏幕锁定时停止播放

显示对话框时尝试锁定屏幕旋转

ReactNative进阶(三十九):DeviceEventEmitter 实现发送和监听消息

屏幕锁定时如何通知推送通知?

从后台服务打开应用程序屏幕并锁定手机屏幕时冻结