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.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() {