fix retry count
This commit is contained in:
@@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user