WebView代码展示演示
public class WebViewActivity<T> extends Activity implements View.OnClickListener {
protected String mUrl;
protected WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
mUrl = bundle.getString("Url");
if (mUrl != null) {
Log.i("Url", mUrl);
}
}
initView();
}
private void initView() {
mWebView = (WebView) findViewById(R.id.activity_web_view_webview);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(false);
mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setDisplayZoomControls(false);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setDatabaseEnabled(true);
mWebView.getSettings().setDatabasePath(this.getApplicationContext().getCacheDir().getAbsolutePath());
mWebView.getSettings().setGeolocationEnabled(true);
mWebView.getSettings().setBlockNetworkImage(false);
mWebView.getSettings().setUseWideViewPort(true);
mWebViewDisplay.getSettings().setJavaScriptEnabled(true);
mWebViewDisplay.addJavascriptInterface(new WebApp(), "WebApp");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebViewDisplay.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebViewDisplay.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, final String 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);
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
}
});
if (!TextUtils.isEmpty(mUrl)) {
mWebView.loadUrl(mUrl);
}
}
/**
* H5通过调用back方法,就实现了返回上个Activity
*
* H5通过调用getVersionCode方法,就可以获取application的版本号
*/
public class WebApp {
@JavascriptInterface
public void back() {
finish();
}
@JavascriptInterface
public void getVersionCode() {
Log.e("webApp","getVersionCode");
PackageUtils.getVersionCode(mContext);
}
}
}
最后当然有福利了,大家可以关注一下Android小神的简书,当然怎样获取到就看你的技术了!反正我是写了,自己找