androidwebview与js相互调用

本文介绍如何在Android应用中配置WebView以加载指定URL,并实现与JavaScript的交互。包括设置WebView属性使能JavaScript、自动加载窗口、允许文件访问等;通过自定义WebViewClient拦截页面加载请求;设置WebChromeClient处理JavaScript对话框等功能。


//WebView启用Javascript脚本执行
		webView.getSettings().setJavaScriptEnabled(true);
		webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
		webView.getSettings().setAllowFileAccess(true);// 设置允许访问文件数据
		

		
		webView.setVerticalScrollbarOverlay(true);
		webView.setWebViewClient(new WebViewClient(){
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				webView.loadUrl(url);
				return false;
			}
		});
		
		 // 如果不设置这个,JS代码中的按钮会显示,但是按下去却不弹出对话框
        // Sets the chrome handler. This is an implementation of WebChromeClient
        // for use in handling JavaScript dialogs, favicons, titles, and the
        // progress. This will replace the current handler.
	
		
		if (url==null) {
			webView.loadUrl("http://www.baidu.com");
		} else {
			webView.loadUrl(url);
		}

		webView.addJavascriptInterface(new DaMiJavaScriptInteface(this), "myjs");
		webView.setWebChromeClient(new WebChromeClient());
		
		
		new Handler(){
			@Override
			public void handleMessage(Message msg) {
				L.showlog("load js!!");
				webView.loadUrl("javascript:window.myjs.clickOnAndroid()");
			}
		}.sendEmptyMessageDelayed(1, 3000);


public class DaMiJavaScriptInteface {

//好像每个方法都有@一下....

@JavascriptInterface  
public void clickOnAndroid(){
T.showMessage(mactivtiy, "哈哈2");
}

}



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值