https://facebook.github.io/react-native/releases/next/docs/headless-js-android.html#headless-js誰もが反応ネイティブヘッドレスjsを正常に実装しましたか?
私はいくつかは、ネイティブコードを反応させ、実行するHeadlessJsTaskService
を実装し、それを私が反応-ネイティブ0.40
https://facebook.github.io/react-native/releases/next/docs/headless-js-android.html#headless-js誰もが反応ネイティブヘッドレスjsを正常に実装しましたか?
私はいくつかは、ネイティブコードを反応させ、実行するHeadlessJsTaskService
を実装し、それを私が反応-ネイティブ0.40
実行しています
を行うには正しい方法を見つけるように見えることはできません。
ReactExecutorService
は、私がstartService(new Intent(this, MyTaskService.class));
を呼び出すときにエクストラを提供していないため、ただ静かに失敗しました。次のコードは、その修正されています。
@Override
@Nullable
protected HeadlessJsTaskConfig getTaskConfig(Intent intent) {
Bundle extras = intent.getExtras();
WritableMap data = extras != null ? Arguments.fromBundle(extras) : null;
return new HeadlessJsTaskConfig(
"FeatureExecutor",
data,
5000);
}
を私はまたReactApplication
を実装していなかった既存のApplicationクラスを、持っていました。
private final ReactNativeHost reactNativeHost = new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
// Insert your packages, e.g.
new MainReactPackage()
);
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return reactNativeHost;
}
あなたはまた、マニフェストにカスタムサービスを追加する必要があります。私はHeadlessJsTaskService
仕事をするためにいくつかのコードを追加する必要がありました。例:
<service android:name=".MyTaskService"/>
上記の解決方法が役立たない場合は、問題に関する追加情報をご提供ください。
私はちょっと混乱しています。あなたはReactExecutorService.javaファイルをどこに置いていますか?このルートで 'node_mudoles/react-native/ReactAndroid/src/main/java/com/facebook/react/jstasks /'を編集し、このアンドロイド/ app/src/main/AndroidManifest.xml'ディレクトリのマニフェストファイルを編集しますか? –
場合は、ステップバイステップガイドを作成してください –