- 在Android 较高版本中调用JavaScript 中方法的语句要在线程中运行。
// 调用javascript中的show()方法
mHandler.post(new Runnable() {
@Override
public void run() {
mWebView.loadUrl(“javascript:show('” + json + “')”);
}
});
示例代码:
html 代码:
刷新
Java代码:
public class MainActivity extends AppCompatActivity {
private WebView mWebView;
private Handler mHandler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.web_view);
mWebView.loadUrl(“file:///android_asset/index.html”);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new JSObject(),“contact”);
}
public class JSObject{
@JavascriptInterface
public void call(String phone){
Log.e(“phone”, “phone---->” + phone);
}
@JavascriptInterface
public void showContacts(){
try {
JSONArray jsonArray = new JSONArray();
JSONObject jsonObject = new JSONObject();
jsonObject.put(“name”, “zhangsan”);
jsonObject.put(“amount”, “50”);
jsonObject.put(“phone”, “123465798”);
jsonArray.put(jsonObject);
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put(“name”, “lisi”);
jsonObject1.put(“amount”, “48”);
jsonObject1.put(“phone”, “987456123”);
jsonArray.put(jsonObject1);
最后
现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**
最后
现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**
[外链图片转存中…(img-nhhiV0lM-1714480624206)]