前言
这篇中主要介绍Java与本地的Html 中的JS进行交互。
步骤
- 在布局文件中添加WebView控件。
- 获取到WebView实例。
- 调用setJavaScriptEnabled(true)方法设置支持JS。
- 调用addJavascriptInterface(Object object, String name) 方法加载javascript中的调用方法。
- 调用loadUrl(String url)方法加载本地的Html。
说明:加载本地的Html文件时,url 为file:///android_asset/ + htmlname.html
。 eg:mWebView.loadUrl("file:///android_asset/index.html")
;
API说明
addJavascriptInterface(Object object, String name)
参数说明:
第一个参数是一个包含html页面中调用方法的类.
第二个参数是调用类时的标记.
Javascript中调用Java 的规则:
Html中结构:
- javascript: + name + . + method
说明:
- javascript:是不变的,不要忘记冒号。
- name:是在调用 addJavascriptInterface(Object object, String name)方法中设置的name,二者要保持对应。method:是调用的方法,method即调用方法中的方法名字。
eg:Java中有call 方法,在Html中js中
<a href='javascript:contact.call()'>拨打</a>
,点击拨打便会调用Java 中的call 方法。