// android j加载js
//子线程请求网络,,,,主线程再加载
new Thread(){
@Override
public void run() {
//获取加载的webView网址的自定义方法
webUrl = getWebUrl(sUrl);
runOnUiThread(new Runnable() {
@Override
public void run() {
webview.loadUrl(webUrl);
}
});
}
}.start();
//设置WebView属性,能够执行Javascript脚本
webview.getSettings().setJavaScriptEnabled(true);
//webSettings对webView进行一些加载url设置
WebSettings webSettings = webview.getSettings();
webSettings.setUseWideViewPort(true);//支持双击放大
webview.loadUrl(sUrl);
webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//加载需要显示的网页
view.loadUrl(url);
return false;
}
});
// js 调用android 本地方法
//参数一:实现接口类的对象,接口名称任意定义
//参数二:接口的别名,别名需要和html中编写调用方法的类的名称一致
/*<!-- Js调用Android代码 -->*/
/*<button οnclick="window.Android.back()">返回</button>*/
public interface JsCallAndroid{
public void back();
}
webView.addJavascriptInterface(new JsCallAndroid() {
@Override
@JavascriptInterface
public void back() {
Toast.makeText(NewDetailActivity.this, "js调用了android 结束界面的代码", 0).show();
finish();
}
}, "Android");