2015-11-17 10 views

答えて

5

あなたはRCTDeviceEventEmitter.emit方法は、ここで定義されて使用してJavaからイベントを送信することができますDeviceEventManagerModule.java#L27

はそれをReactApplicationContextへの参照を持っているあなたの最初の必要性を行うには、コール:代わりの

reactAppContext 
    .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class) 
    .emit("keyboardWillShow1", null); 

を「ヌル」のことができますJS側で受け取ったイベントに添付される任意のデータを送信します。

この例ではDeviceEventManagerModule.java#L49を参照してください。これはバックボタンイベントをJSに送信する方法です。

はその後、ライフサイクルイベントを受信するために登録することができ、あなたのカスタムモジュールを作成することですReactApplicationContext

別の方法をあなたが参照を持っていると仮定活動/onResumeからイベントをディスパッチするために同様のパターンを使用することができます。それは「タイミング」モジュールで行うのかを参照してください:

  1. 「タイミング」モジュールはLifecycleEventListener.javaインタフェース
  2. を実装モジュールが初期化されるとき、それはそのインターフェイスTiming.java#L126
  3. を通じてライフサイクルを受け取るために自分自身を登録しますがonHostPauseonHostResumeメソッドを実装することができますそのインターフェイスのスニペットを使用して、上記のイベントをディスパッチする
+0

ありがとうございました!私はonPauseとonResumeを実装する方法を全面的に見てきました! –