DevSupportManager 类可以为您做到这一点。您可以通过 ReactInstanceManager 从您的 ReactNativeHost 实例中获取它:
ReactInstanceManager reactInstanceManager = reactNativeHost.getReactInstanceManager();
DevSupportManager devSupportManager = reactInstanceManager.getDevSupportManager();
有了它,添加一个自定义开发选项,如下所示:
devSupportManager.addCustomDevOption("Custom dev option", new DevOptionHandler() {
@Override
public void onOptionSelected() {
Toast.makeText(MainActivity.this, "Hello from custom dev option", Toast.LENGTH_SHORT).show();
}
});
首先,您在哪里获取 ReactNativeHost 实例取决于您如何构建应用程序。如果您使用react-native init 创建应用程序,您的主应用程序类将包括:
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
...你可以调用它。
I have a complete sample here;看MainActivity.OnCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MainApplication application = (MainApplication) getApplication();
ReactNativeHost reactNativeHost = application.getReactNativeHost();
ReactInstanceManager reactInstanceManager = reactNativeHost.getReactInstanceManager();
DevSupportManager devSupportManager = reactInstanceManager.getDevSupportManager();
devSupportManager.addCustomDevOption("Custom dev option", new DevOptionHandler() {
@Override
public void onOptionSelected() {
Toast.makeText(MainActivity.this, "Hello from custom dev option", Toast.LENGTH_SHORT).show();
}
});
}