2017-02-22 12 views
1

React Native Androidアプリでコールバックを複数回呼び出す方法をご希望です。React Native Android:コールバックを複数回呼び出すことを許可する

私のAndroidネイティブモジュールは、com.facebook.react.bridge.Callbackを使用してコールバックを保存し、定期的にAlarmManager.setRepeatingを使用して呼び出します。

コードの種類は次のようになります。

public class BackgroundAlarmReceiver extends BroadcastReceiver { 
    private static Callback callback; 

    private void executeCallback() { 
     Log.d("BackgroundAlarmReceiver", "Performing background work..."); 
     try { 
      callback.invoke(); 
     } catch (IllegalViewOperationException e) { 
      Log.d("BackgroundAlarmReceiver", e.getMessage()); 
     } 
    } 
} 

ただし、コールバックは1回だけ実行することができます(the code from React Native repo参照)。 JavaScriptコードで提供されるコールバックへの参照を保存して定期的に呼び出すことはできますか?

答えて

0

コールバックの代わりにRCTDeviceEventEmitterを使用します。

はJSに登録:

eviceEventEmitter.addListener('onError',(error) => console.log(error)) 

は、ネイティブコードからイベントを送信する:

this.getReactApplicationContext().getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit(name,data); 

Thisは​​インスタンスを指します。 ファイン・オン・リアクション0.53

関連する問題