fix retry count

This commit is contained in:
Zhanghu
2025-10-31 17:32:58 +08:00
parent d450cf4933
commit cb151b989e

View File

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