问题标签 [deviceeventemitter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1149 浏览

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

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

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

0 投票
2 回答
16155 浏览

react-native - DeviceEventEmitter 与 NativeAppEventEmitter

我想使用事件在本机 ios/android 和我的本机应用程序之间进行通信。

我看到了两种方法来做到这一点:DeviceEventEmitter 和 NativeAppEventEmitter,它们似乎相当相同。

他们之间有什么区别?为什么我要选择一个而不是另一个?

0 投票
1 回答
1047 浏览

react-native - 读取加速度计数据的后台任务

我有一个 React Native 应用程序,我使用 react-native-sensor-manager 包每 20 毫秒读取一次加速度计数据。

每次读取数据时,我都会启动侦听器并将其记录到 Reactotron,每 20 毫秒

如果我将应用程序留在前台,甚至在后台,它工作得很好,但如果我锁定手机,它会停止读取数据。如果我从任务管理器中终止应用程序,它也会停止。

即使在后台,我怎样才能实现读取数据?

0 投票
0 回答
747 浏览

javascript - [React Native]:找不到变量:DeviceEventEmitter

我正在尝试使用事件侦听器来指示何时打开/关闭视图(即关闭导航),但我似乎无法引用 DeviceEventEmitter 变量。在componentWillMount上似乎没问题,但是当实际导航发生时崩溃(在componentWillUnmount上)

我看过一些对 RTCDeviceEventEmitter 和 EventListener 的引用,但我一直找不到具体的解决方案。

0 投票
1 回答
1279 浏览

android - iOS 上的 DeviceEventEmitter

我正在开发一个 react-native 应用程序。我正在尝试从本机代码向我的反应本机代码发出事件。这适用于 Android,但在 iOS 上很困难。

我成功地收听了从我的原生 Android 代码发送的事件。然而,在 iOS 上运行时,我的 react 本机应用程序并没有“拾取”相同的事件,并试图找出原因。

我有连接到 MQTT 代理的代码。该代码是为 iOS 和 Android 原生编写的。在连接过程中,我将连接状态从我的本机代码发送到 react-native。这在 Android 上运行良好。使用 reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit(eventName, eventString) 方法从我的 Android 代码发送的事件按预期到达我的反应本机代码。但是,在我的 iOS 代码中,正在发送使用 sendEvent() 方法传输的消息,但我没有在我的 react-native 代码中接收它们。我什至在我的 iOS 模拟器中收到一个黄色警告,指出“Status在没有注册监听器的情况下发送。发送事件的我的 Swift 类扩展了 RCTEventEmitter 类。

希望这是人们需要帮助的所有细节。我没有太多使用 DeviceEventEmitter 的经验,也没有太多使用 Swift 和 iOS 的经验。主要是一个Android人,所以这有点令人困惑。我猜它实际上超级简单,但我有点迷茫。

以下 Swift 代码发送事件。

发送事件的 Swift 类扩展了 RCTEventEmitter。

我的 Android Java 文件扩展了 ReactContextBaseJavaModule。

下面的java方法用于发送事件。

0 投票
2 回答
1036 浏览

react-native - 从本机事件发射器回调后,React 本机 UI 未呈现。甚至回调有状态改变

我想在原生应用小部件点击 android 后将用户导航到反应原生项目中的另一个屏幕。我能够在 MainView.js 中使用本机事件发射器捕获事件,并且我更改了其中一个组件的状态并且它发生了更改,但在此状态更改后 UI 未呈现。它显示空白屏幕,控制台上没有错误。提前感谢您的帮助!!

从 appwidget click 启动的 CustomActivity 源代码。从这个活动的 oncreate 中,我将事件发送到 react-native 主视图。

0 投票
0 回答
95 浏览

reactjs - setState 在 DeviceEventEmitter (datawedge_broadcast_intent) 上不会改变。在 React Native 中设置状态的最佳方法是什么?

我使用Android Zebra扫描仪执行扫描,我使用DeviceEventEmitter ('datawedge_broadcast_intent') 在第一个屏幕上,我使用DeviceEventEmitter,一切正常,当我更换屏幕时,DeviceEventEmitter无法捕获最新状态,

如果我触发 DeviceEventEmitter 或 onPress,则 dataReceived () 函数将运行,但在 DeviceEventEmitter 中,dataReceived () 函数不会从 count 中捕获最新数据。这是我的代码如下:

0 投票
0 回答
75 浏览

android - DeviceEventEmitter 不适用于 ios 但适用于 android

我正在使用https://github.com/MacKentoch/react-native-beacons-manager库通过我的 react native 应用程序扫描和检测该区域的信标。我的实现在 android 中完美运行,但在 ios 中没有。

我将在下面发布我的实现

我调试了代码,发现代码在之后中断DeviceEventEmitter.addListener('beaconsDidRange', (data: ScannedBeacons) =>,这一行是ios。这意味着我在尝试使用 ios 设备时没有看到我放置的控制台日志。但对于 android 设备它可以工作。所以问题必须与DeviceEventEmitter我的理解有关。

这可能是什么原因?

我试过NativeEventEmitter而不是DeviceEventEmitter. 但后来我得到一个错误Property 'addListener' does not exist on type 'typeof NativeEventEmitter'.

这个问题有什么解决办法吗?