最基本的webView加载页面
webView.loadUrl(url);这里面的url是String类型,可以加载本地的html页面, 如url =“file:///android_asset/index.html”;
加载网页,如url =“www.baidu.com”.
这样的加载是调起手机中默认的浏览器上打开,如果要在APP内中打开:
webView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; }
android 调用HTML页面中的javaScript方法:
WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true);//设置支持JavaScript脚本
利用WebViewClicent接口,借助shouldOverrideUrlLoading回调方法拦截url,然后解析url的协议,
如果协议是之前预定好的那么就开始分析url格式得到具体参数,而其中的getShareData是js中的方法.
mWebView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); } public void onPageFinished(WebView view, String url) { mWebView.loadUrl("javascript:getShareData()"); super.onPageFinished(view, url); } });
javaScript调用android 本地的java方法
js内有个方法叫“jsObj”; getHtmlObject()这个方法返回一个Object对象,里面的HtmlcallJava()被js的“jsObj”这个方法调用,来完成交互
mWebView.addJavascriptInterface(getHtmlObject(), "jsObj");
private Object getHtmlObject(){ Object insertObj = new Object(){ //html调用android @JavascriptInterface public void HtmlcallJava(){ //这里填写js想调用android本地的方法 } }; return insertObj; }