网页加载错误显示错误网址问题

This commit is contained in:
18401019693
2022-11-17 11:37:35 +08:00
parent 977bfa910c
commit 267d07f3a5
5 changed files with 57 additions and 9 deletions

View File

@@ -16,6 +16,8 @@ import android.view.View;
import android.view.ViewGroup;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
@@ -66,7 +68,7 @@ public class ZhuangBanActivity extends AbsActivity {
private ValueCallback<Uri[]> mValueCallback2;
private SVGAImageView svga;
private FrameLayout title;
private TextView titleView;
private TextView titleView, htmlError;
private RelativeLayout rootView;
@Override
@@ -84,6 +86,7 @@ public class ZhuangBanActivity extends AbsActivity {
mProgressBar = (ProgressBar) findViewById(R.id.progressbar);
svga = (SVGAImageView) findViewById(R.id.svga);
titleView = (TextView) findViewById(R.id.titleView);
htmlError = (TextView) findViewById(R.id.html_error);
title = findViewById(R.id.ft_title);
if (isFullWindow) {
title.setVisibility(View.GONE);
@@ -136,6 +139,23 @@ public class ZhuangBanActivity extends AbsActivity {
public void onPageFinished(WebView view, String url) {
setTitle(view.getTitle());
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
}
@Override
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
super.onReceivedHttpError(view, request, errorResponse);
// 这个方法在6.0才出现
int statusCode = errorResponse.getStatusCode();
if (404 == statusCode || 500 == statusCode) {
htmlError.setVisibility(View.VISIBLE);
htmlError.setText("errorCode:" + statusCode +"\n failingUrl:" + request.getUrl());
}
}
});
mWebView.setWebChromeClient(new WebChromeClient() {
@Override

View File

@@ -16,10 +16,13 @@ import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowInsets;
import android.view.WindowManager;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -59,6 +62,7 @@ public class LiveHDDialogFragment extends AbsDialogFragment {
private boolean isFullWindow = false;
private String roomId;
private DialogInterface.OnShowListener listener;
private TextView htmlError;
public LiveHDDialogFragment() {
@@ -140,6 +144,7 @@ public class LiveHDDialogFragment extends AbsDialogFragment {
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mWebView = (WebView) findViewById(R.id.rlWebview);
htmlError = (TextView) findViewById(R.id.html_error);
findViewById(R.id.btn_back).setOnClickListener(v -> dismiss());
mWebView.addJavascriptInterface(new JavascriptInterfaceUtils(getActivity(), mWebView)
.setLiveZhuangBana(true).
@@ -197,6 +202,17 @@ public class LiveHDDialogFragment extends AbsDialogFragment {
listener = null;
}
}
@Override
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
super.onReceivedHttpError(view, request, errorResponse);
// 这个方法在6.0才出现
int statusCode = errorResponse.getStatusCode();
if (404 == statusCode || 500 == statusCode) {
htmlError.setVisibility(View.VISIBLE);
htmlError.setText("errorCode:" + statusCode +"\n failingUrl:" + request.getUrl());
}
}
});
if (bundle.getBoolean("banScrollY", false)) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {