android js交互备忘,webview配置

1. 首先设置webview,需要设置启用javascript:

WebSettings webSettings = webView.getSettings();  
		webSettings.setJavaScriptEnabled(true);

属性备忘:

<pre name="code" class="java">//支持多种分辨率,需要js网页支持  
        webSettings.setUserAgentString("mac os");  
//设置文字默认编码
        webSettings.setDefaultTextEncodingName("utf-8");

 
webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放


          
  设置不用外部浏览器打开,默认设置第一次在webview中打开,后续会打开默认浏览器:

webView.setWebViewClient(new WebViewClient(){
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				view.loadUrl(url);
				return true;
			}
			
			/**
			 * https请求处理,注意手动导入 import android.webkit.SslErrorHandler 
			 * 和 import android.net.http.SslError;
			 */

			public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
				//handler.cancel(); 默认的处理方式,WebView变成空白页
				handler.proceed();	//接受证书
				//handleMessage(Message msg); 其他处理
			}
		});







2. html调用android 原生:


webView.addJavascriptInterface(new MyJavaScriptInterface(WebViewActivity.this),"JavaScriptInterface");  


class MyJavaScriptInterface{
		Context mContxt;
	 
		public MyJavaScriptInterface(Context mContxt) {
			this.mContxt = mContxt;
		}
		
		/**
		 * 设置是否成功!
		 * @param flag
		 */
		 @JavascriptInterface	//sdk17版本以上加上注解 
		public void setResult(boolean flag){
			if(flag ){
				CustomerToast.showToast(mContxt, "成功!");
			}else{
				CustomerToast.showToast(mContxt, "失败!");
			}
		}
	}

需要注意的是:
 @JavascriptInterface标签, 在android 4.2之后新增的,添加该标签可以兼容android4.2以上点版本

3. 原生调用js:

		webView.loadUrl("javascript:jsname('参数')"); 

更详细说明博客地址:

http://blog.csdn.net/typename/article/details/40302351

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值