Android原生代码调用H5 Web网页中的Javascript函数方法

重点是使用Android WebView中的evaluateJavascript()函数。
假设H5 Web网页中有一个Javascript函数add(x,y),add(x,y)函数计算两个数之和并返回。Android原生代码中如何调用存在于H5 Web页面中的Javascript函数add(x,y)呢?
先写一个测试H5 Web页面,web.html:

上层Java代码:

import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.webkit.ValueCallback;import android.webkit.WebSettings;import android.webkit.WebView;public class MainActivity extends AppCompatActivity {    private WebView mWebView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mWebView = findViewById(R.id.webview);        mWebView.loadUrl("file:///android_asset/web.html");        WebSettings mWebSettings = mWebView.getSettings();        //启用JavaScript。        mWebSettings.setJavaScriptEnabled(true);        mWebSettings.setUseWideViewPort(true);        mWebSettings.setJavaScriptCanOpenWindowsAutomatically(true);        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                int a = 2, b = 3;                //调用H5 Web网页中的Javascript函数add()计算a与b的和。                mWebView.evaluateJavascript("add(" + a + "," + b + ")", new ValueCallback() {                    //Javascript返回add()函数的计算结果。                    @Override                    public void onReceiveValue(String value) {                        System.out.println("a+b=" + value);                    }                });            }        });    }}


 

更多相关文章

  1. 直播代码Android怎么实现定时任务及闹钟?
  2. Android | 代码混淆到底做了什么?
  3. Capacitor实现WebView中访问的自定义Android代码
  4. Android JSON解析示例代码
  5. 【Android】Android Studio 1.5+ 中混合调试Native和Java代码

随机推荐

  1. Button或者ImageButton的背景设为透明或
  2. Android(安卓)核心分析 -----IPC框架分析
  3. 安装 Android 1.6 SDK
  4. activity以dialog形式显示
  5. android 按照字母的顺序排序
  6. android中ramdisk解压与打包
  7. Android 解析 ByteArrayInputStream
  8. Android下使用iCal4j库
  9. android 创建数字签名应用程序
  10. Android应用框架无边界