Puedo resolver el problema usando un indicador adicional que se comunicará de Javascript a Java. Pero una bandera adicional se sintió redundante para mi gusto. Mi código nativo de Java necesita hacer algo en su estado y luego notificar a la capa de Javascript sobre esto. Pero mi preocupación es que, si la capa de Javascript no llamó a NativeEventEmitter::addListener , los cambios realizados en el lado nativo de Java no se comunicarán al lado de Javascript. Entonces, primero necesito determinar que Javascript está escuchando este evento. De lo contrario, no hay cambios de estado en el lado de Java.
Como dije, una bandera booleana trivial y la llamada nativa adicional para comunicar esta bandera al lado de Java podrían resolver este problema. Pero me preocupa que un método tan extraño haga que las cosas se desincronicen por accidente, a través de un error de programación de JavaScript. Por lo tanto, me inclino a verificar si Javascript está escuchando el evento. ¿Cómo puede Java React Native averiguar si hay un oyente?