package com.wuxiaolong.wewin.ui;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.wuxiaolong.androidutils.library.LogUtil;
import com.wuxiaolong.wewin.utils.AppConstants;
import com.xiaomolongstudio.wewin.R;
import butterknife.BindView;
import butterknife.ButterKnife;
public class WebViewActivity extends BaseActivity {
private String webviewTitle;
private String webviewUrl;
private String webviewUrlData;
@BindView(R.id.webview)
WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
ButterKnife.bind(this);
webviewTitle = this.getIntent().getStringExtra(AppConstants.WEBVIEW_TITLE);
webviewUrl = this.getIntent().getStringExtra(AppConstants.WEBVIEW_URL);
webviewUrlData = this.getIntent().getStringExtra(AppConstants.WEBVIEW_URL_DATA);
initToolbar(webviewTitle);
if (!TextUtils.isEmpty(webviewUrl)) {
webview.loadUrl(webviewUrl);
}
if (!TextUtils.isEmpty(webviewUrlData)) {
webview.loadData(webviewUrlData, "text/html; charset=UTF-8", null);
}
LogUtil.d("webviewUrl=" + webviewUrl);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webview.setWebViewClient(
new WebViewClient() {
@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);
LogUtil.d("onPageFinished=");
}
@Override
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
super.onReceivedHttpError(view, request, errorResponse);
LogUtil.d("onReceivedHttpError");
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
webview.setVisibility(View.VISIBLE);
LogUtil.d("shouldOverrideUrlLoading");
// view.loadUrl(url);
// return super.shouldOverrideUrlLoading(view, url);
return true;
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
// Handle the error
LogUtil.d("onReceivedError errorCode=" + errorCode);
webview.setVisibility(View.GONE);
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
//表示此方法无效
}
}
);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((KeyEvent.KEYCODE_BACK == keyCode) && webview.canGoBack()) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}