之前的博客,Android-WebView与本地HTML (Java调用--->HTML的方法),是在 findViewById(R.id.webview);,来得到WebView, 此博客使用 new WebView(this)方式;

AndroidManifest.xml中配置网络访问权限:

test2.html

html 调用javacript函数 html调用java类_html 调用javacript函数

Web页面

function my_function(myname) {
document.getElementById("demo").innerHTML = "Java设置我的值名字是:" + myname;
}

这是一个html页面,现在在WebView中运行

Activity:
package cn.h5;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.webkit.WebView;
/**
* Android-WebView与本地HTML (Java调用--->HTML的方法)-(new WebView(this)方式)
*/
public class MainActivity7 extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/**
* 定义此WebView 用于去展现本地HTML
*/
webView = new WebView(this);
/**
* WebView默认是不能够执行javascript
* 以下代码是设置>>允许webview能够执行javascript代码
*/
webView.getSettings().setJavaScriptEnabled(true);
// 这里不需要设置 webView.addJavascriptInterface,是因为JavaScript不调用-->Java的方法
/**
* 加载本地的HTML文件
*/
webView.loadUrl("file:///android_asset/test2.html");
setContentView(webView);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
addName(324354);
}
}, 5000);
}
/**
* 给---->>>>JavaScript添加名字
* @param name
*/
private void addName(int name) {
/**
* 让WebView去执行JavaScript代码
* 让WebView去执行JavaScript的my_function方法
*
* JavaScript方法:
* function my_function(myname) {
* document.getElementById("demo").innerHTML = "Java设置我的值名字是:" + myname;
* }
*/
webView.loadUrl("javascript:my_function(" + name + ")");
}
}

执行结果:

html 调用javacript函数 html调用java类_Java_02