JavaネイティブモジュールからJSコードを実行する方法を探しています。私はタイマーで解決策を見つけましたが、コールバックを使用し、アプリがバックグラウンド(React-native background process(android) handling?)にある場合にのみ機能します。React Native:AlarmManagerを使用してバックグラウンドでJavaモジュールからJSコードを実行する
私はAlarmManagerを使用してJavaのBroadcastReceiverを起動しますが、この時点からどのようにJavascriptコードを実行するのか分かりません。このコードは反応コンポーネントではありませんが、いくつかの反応SDKとモジュール(facebooksdk、googlesdk、Keychain、Asyncstorage)を使用しています。
私は(原因https://facebook.github.io/react-native/docs/native-modules-android.htmlに)DeviceEventEmitterにリスナーを作成しようとBroadcastReceiverで実行
public class Alarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ReactApplicationContext contxt = (ReactApplicationContext) context;
contxt.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
.emit("runTask", null);
}
のようなものをしかし、私はランタイムエラーをキャストしています
は多分そうではありませんバックグラウンドでJavaモジュールからJSを実行することができます。特にアプリケーションが終了している場合あらゆるヒントを歓迎します。
@jonzeeこれで問題は解決しましたか? –