1

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を実行することができます。特にアプリケーションが終了している場合あらゆるヒントを歓迎します。

答えて

3

は、具体的に

をtransistorsoftのgithubのアカウントをチェックアウト:

を私はこれらといくつかの成功を収めてきました。

しかし、それらにはすべて欠点があります。これまで、JSをバックグラウンドで実際に実行しているパッケージは見つかりませんでした。 RNチームはそれに取り組んでいると思われますが、まだ何もありません。

この場合の解決策は、Javaでバックグラウンドで実行する必要があるものをコード化することです。最終的にこれは私がやったことです。

+0

@jonzeeこれで問題は解決しましたか? –

関連する問題