最近做的一个项目,需要使用到android和js的交互,动态向html里面注入js方法,然后执行,不难,直接贴代码:
mWebview.loadUrl(sub_url);//sub_url是需要注入代码的html的网址 //启用支持javascript mWebview.getSettings().setJavaScriptEnabled(true); mWebview.getSettings().setBuiltInZoomControls(false); mWebview.getSettings().setSupportZoom(false); mWebview.getSettings().setDomStorageEnabled(true); mWebview.requestFocus(); mWebview.getSettings().setUseWideViewPort(true); mWebview.getSettings().setLoadWithOverviewMode(true); mWebview.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 view.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); mWebview.loadUrl("javascript:function getSub(){alert(\"Welcome\");" +"document.forms[0].submit();};getSub();");} });
在onPageFinished方法里面输入webview.loadUrl("javascript:"+"js方法名或者.js")。