React native 有人成功地实现了react native headless js吗?
我似乎找不到正确的方法React native 有人成功地实现了react native headless js吗?,react-native,React Native,我似乎找不到正确的方法 我正在运行React native 0.40我实现了HeadlessJsTaskService来执行一些React native代码 对我来说,ReactExecutorService只是默默地失败了,因为我在调用startService(newintent(这个,MyTaskService.class))时没有提供任何额外的功能。以下代码修复了以下问题: @Override @Nullable protected HeadlessJsTaskConfig getTask
我正在运行React native 0.40我实现了
HeadlessJsTaskService
来执行一些React native代码
对我来说,ReactExecutorService
只是默默地失败了,因为我在调用startService(newintent(这个,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
。我必须添加一些代码才能使HeadlessJsTaskService
正常工作:
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;
}
private final ReactNativeHost ReactNativeHost=新的ReactNativeHost(此){
@凌驾
公共布尔getUseDeveloperSupport(){
返回BuildConfig.DEBUG;
}
@凌驾
受保护的列表getPackages(){
返回数组.asList(
//插入您的软件包,例如。
新的main包()
);
}
};
@凌驾
公共ReactNativeHost getReactNativeHost(){
返回反应主机;
}
您还必须将自定义服务添加到清单中。例如:
<service android:name=".MyTaskService"/>
如果上述解决方案没有帮助,请提供一些有关您的问题的附加信息。我有点困惑,您将ReactExecutorService.java文件放在哪里?在这个路径中:node\u mudoles/react native/reactor droid/src/main/java/com/facebook/react/jstasks/
并在这个android/app/src/main/AndroidManifest.xml
目录中编辑清单文件?如果可以,请创建分步指南