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中包含多个Activity的应用退出按钮实现
  2. Android:WebService
  3. Android(安卓)源代码结构
  4. MediaPlayer框架概述(一)
  5. 直播代码Android怎么实现定时任务及闹钟?
  6. Android(安卓)官方示例:android-architecture 学习笔记(三)之todo
  7. 浅谈android hook技术
  8. android aidl详解
  9. 箭头函数的基础使用

随机推荐

  1. android菜鸟日记2 contentProvider
  2. Android读写文件!!!!
  3. Android知识梳理:消息机制之Handler
  4. 软键盘输入最佳实践
  5. Android硬编
  6. Android Studio Mac 快捷键
  7. “Android SDK Content loader has encou
  8. iphone风格设置页面PreferenceActivity
  9. Android(安卓)内存泄漏检测
  10. Android中DialogFragment优于Dialog