1,配置方法
不需要引jar包,也不需要在gradle引入依赖,直接就可以调用
2,代码调用
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
@SuppressLint("SetJavaScriptEnabled")
public class MainActivity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
webView = (WebView) findViewById(R.id.huodongWebView);
webView.loadUrl("后台接口返回数据的url");
webView.clearCache(true);
webView.clearHistory();
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.setWebViewClient(new JoeWebViewClient());
webView.addJavascriptInterface(new Object() {
/**
* str1,str2都是网页回传回来的数据字段,安卓端所有的操作就在方法里面完成,这就
* 实现了webview与Js是简单的数据交互操作
*/
@JavascriptInterface
public void test1(String str1, String str2) {
}
@JavascriptInterface
public void test2(){
}
}, "android");
}
private class JoeWebViewClient extends WebViewClient {
// 在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边.
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
}
}