1.编写html网页和其javascript方法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script type="text/javascript"> function hello(){ alert("hello"); } function helloMessage(message){ alert(message); } function sum(number1, number2){ alert("返回"); window.AndroidFunction.toast(number1+number2); } function showAndroidToast(){ var testVal = document.getElementById('htmlTextId').value; window.AndroidFunction.toast(testVal); } </script> </head> <body> <input type="text" style="width: 180px;"name="htmlText" value="輸入參數" id="htmlTextId" /> <input type="button" value="調用安卓Toast" id="btnSubmit" οnclick="showAndroidToast()" /> </body> </html>
2.加载html网页
//支持javaScript对android方法调用 mWebView.addJavascriptInterface(new JavaScriptObject(MainActivity.this),"AndroidFunction"); // Use local resource mWebView.loadUrl("file:///android_asset/index.html");
public class JavaScriptObject { Context mContxt; public JavaScriptObject(Context mContxt) { this.mContxt = mContxt; } public void toast(String name) { Toast.makeText(mContxt, name, Toast.LENGTH_LONG).show(); } }
3.实现调用js方法
@Override public void onClick(View v) { switch (v.getId()){ case R.id.btn_call_js_no_parameter: mWebView.loadUrl("javascript:hello()"); break; case R.id.btn_call_js_has_parameter: mWebView.loadUrl("javascript:helloMessage(\""+"大家好"+"\")"); break; case R.id.btn_call_js_has_parameter_and_return: mWebView.loadUrl("javascript:sum(1,2)"); break; } }
下载地址:http://download.csdn.net/detail/a7779486/9725653