android WebView JS交互

调用WebView的loadUrl()方法,设置WevView要显示的网页:
互联网用:webView.loadUrl("http://www.google.com"); 
本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:		assets 文件中

mWebview.setWebViewClient(new WebViewClient() {
		@Override
		public boolean shouldOverrideUrlLoading(WebView view, String url) {
			// 返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
			view.loadUrl(url);
			return false;
		}
		
		@Override
		public void onReceivedSslError(WebView view,
				SslErrorHandler handler, SslError error) {
			// TODO Auto-generated method stub
			handler.proceed();
		}
		//监听网页加载成功失败
		@Override
		public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
			super.onReceivedError(view, request, error);
			
		}
		// 网页完成加载后回调
		@Override
		public void onPageFinished(WebView view, String url) {
			super.onPageFinished(view, url);

		}
	});

android 点击webview 页面实现android 本地调用

mWebview.addJavascriptInterface(new ToContract(getApplicationContext()),
			"nativeProc");

	
	@SuppressLint("NewApi")
	class ToContract {
	public Context context;

	public ToContract(Context context) {
		this.context = context;
	}

	@JavascriptInterface
	public void toContract() {
		Log.e("TAG", "succeed!!!!!");
	    new Thread(new MyThread()).start();
	}
}

 public class MyThread implements Runnable{
    @Override
    public void run() {
       
    	 Message message =Message.obtain();
         message.what =1;
         handler.sendMessage(message);
    }
}

@SuppressLint("HandlerLeak")
private Handler handler =new Handler(){
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what){
            case 1:
             // TODO
                break;
        }
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值