diff --git a/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/BuildingDashboardActivity.java b/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/BuildingDashboardActivity.java index 1100b57..ab6c168 100644 --- a/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/BuildingDashboardActivity.java +++ b/app_dashboard/src/main/java/cn/ykbox/dashboard/activity/BuildingDashboardActivity.java @@ -5,6 +5,7 @@ import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.graphics.Bitmap; import android.os.Build; import android.os.Bundle; import android.os.Handler; @@ -190,13 +191,20 @@ public class BuildingDashboardActivity extends FullscreenActivity { binding.webview.setInitialScale(100); binding.webview.setWebViewClient(new WebViewClient() { + private boolean hasError = false; + + @Override + public void onPageStarted(WebView view, String url, Bitmap favicon) { + hasError = false; + } + @Override public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { super.onReceivedError(view, request, error); - // 只处理主页面的错误,不处理资源文件错误 - if (request.getUrl().toString().equals(mainUrl)) { + if (request.isForMainFrame()) { + hasError = true; handleLoadError(); } } @@ -205,9 +213,8 @@ public class BuildingDashboardActivity extends FullscreenActivity { public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) { super.onReceivedHttpError(view, request, errorResponse); - - // 处理HTTP错误(如404, 500等) - if (request.getUrl().toString().equals(mainUrl)) { + if (request.isForMainFrame() && errorResponse.getStatusCode() >= 400) { + hasError = true; handleLoadError(); } } @@ -215,15 +222,12 @@ public class BuildingDashboardActivity extends FullscreenActivity { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); - - // 页面加载成功,重置重试计数 - if (url.equals(mainUrl)) { + if (!hasError) { retryCount = 0; - Log.d("WebView", "页面加载成功: " + url); + Log.d("WebView", "加载OK"); } } }); - } private void initConfigLoader() {