Capacitor Java层调用JavaScript函数的实现方案
Capacitor 安卓原生Java侧调用前端JavaScript函数实现方案
以下为经实测可正常运行的完整实现,本示例以点击系统返回按键作为JS函数调用触发场景:
1. 原生Java端代码实现
在继承了BridgeActivity的主Activity类中添加如下逻辑:
import android.webkit.WebView; import com.getcapacitor.BridgeActivity; public class MainActivity extends BridgeActivity { @Override public void onBackPressed() { // 从Capacitor桥接实例获取当前WebView对象 WebView webView = getBridge().getWebView(); // 调用前端定义的pressBack JS函数 webView.loadUrl("javascript:pressBack()"); return; } }
2. 前端代码适配
需要在前端入口文件index.html中定义原生侧要调用的对应JS函数,示例如下:
<script type="text/javascript"> function pressBack(){ alert('原生调用JS成功'); } </script>
该方案实测可稳定运行,可根据业务需求自定义调用触发时机、JS函数名、以及入参(入参直接拼接在
javascript:后的函数括号内即可,注意特殊字符转义)
内容的提问来源于stack exchange,提问作者Tavago
相关产品推荐
相关产品推荐

