gpt4 book ai didi

android - 如何在Android平台上调用react-native中的javascript方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:34:22 27 4
gpt4 key购买 nike

当我单击 native UI 中的按钮(可能来自 fragment 容器)时,我想从 JavaScript 调用一个方法,让我们像“jsMethod”或其他名称一样调用它。但是,我以前从未处理过这种情况。

我正在从Facebook网站上的文档中查找一些相关代码,目前还没有找到问题的关键。有人给我一些建议吗?

最佳答案

要从 Java 调用 JavaScript 方法,请执行以下操作:

ReactInstanceManager reactInstanceManager = reactNativeHost.getReactInstanceManager();
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();

CatalystInstance catalystInstance = reactContext.getCatalystInstance();
WritableNativeArray params = new WritableNativeArray();
params.pushString("Message to show using nameOfJsMethod");
catalystInstance.callFunction("JavaScriptVisibleToJava", "nameOfJsMethod", params);

必须定义要调用的 JavaScript 方法并使其对 Java 可见:

import BatchedBridge from "react-native/Libraries/BatchedBridge/BatchedBridge";

export class ExposedToJava {
nameOfJsMethod(message) {
alert(message);
}
}

const exposedToJava = new ExposedToJava();
BatchedBridge.registerCallableModule("JavaScriptVisibleToJava", exposedToJava);

This sample on Github包括一个工作演示。

编辑 我听说这种方法没有正式记录。如果您的情况允许,请考虑采纳@ufxmeng 的建议(在对 OP 的评论中)。

关于android - 如何在Android平台上调用react-native中的javascript方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46032563/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com