android - 如何从原生 android 重定向以响应原生
问题描述
我是 React Native 的新手,我在 React Native 移动应用程序中有两个屏幕。屏幕 1 内置于 RN(Javascript)中,而其他屏幕 2 内置于 android 本机代码(java)中。应用程序必须从屏幕 1 导航到屏幕 2,并返回一些上下文数据(在屏幕 2 获得)到屏幕 1。我已经从 RN 从 Screen1 导航到本机代码到 screen2,但现在我想从屏幕 2 导航到带有一些数据的屏幕 1。
试过这个但得到事件但需要重定向所以任何帮助。(java 代码) 公共类 MainActivity 扩展 ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WritableMap map = Arguments.createMap();
map.putString("key1", "Value1");
try {
getReactInstanceManager().getCurrentReactContext()
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
.emit("customEventName", map);
} catch (Exception e){
Log.e("ReactNative", "Caught Exception: " + e.getMessage());
}
}
RN 代码:从 'react-native' 导入 { DeviceEventEmitter };
componentWillMount(){DeviceEventEmitter.addListener('customEventName', function(e: Event) {})};
解决方案
如果您想从新活动(屏幕 2)中获取一些数据,请使用 startActivityForResult 而不是 startActivity 并覆盖 onResult 方法。
推荐阅读
- angular - 使用 --configuration 运行 ionic serve 时,Ionic live reload 无法正常工作
- excel - UDF 函数不显示结果
- python - 新任务的 RoBERTa 微调中的 from_logits=True 与 from_logits=False
- javascript - 在 beforeSession 挂钩中向 edgeOptions 添加功能时出现 WebdriverIO 错误
- amazon-web-services - 有条件地执行嵌套块 restore_to_point_in_time
- python - Python3:条件 if else 并使用解析 json 计算数据
- php - 尝试通过替换 2 个占位符 php 来包含电子邮件模板
- amp-html - AMP 的可滚动水平标签
- javascript - JavaScript 没有“取消点击”按钮及其影响 Flask
- c++ - 如果我在 func testcase() 代码中声明 q[30005] 似乎不起作用,但如果我在全局范围内声明它或像 2000 那样采用更小的尺寸,代码运行良好