|
@@ -27,6 +27,7 @@ import android.webkit.ValueCallback;
|
|
|
import android.webkit.WebChromeClient;
|
|
|
import android.webkit.WebResourceError;
|
|
|
import android.webkit.WebResourceRequest;
|
|
|
+import android.webkit.WebResourceResponse;
|
|
|
import android.webkit.WebSettings;
|
|
|
import android.webkit.WebView;
|
|
|
import android.webkit.WebViewClient;
|
|
@@ -124,8 +125,11 @@ import org.json.JSONObject;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.io.FileOutputStream;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
import java.lang.ref.WeakReference;
|
|
|
+import java.net.URLConnection;
|
|
|
import java.net.URLEncoder;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
@@ -1186,11 +1190,33 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Nullable
|
|
|
+ @Override
|
|
|
+ public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
|
|
|
+// Log.i("pq", "shouldInterceptRequest" + request.getUrl());
|
|
|
+ Uri url = request.getUrl();
|
|
|
+ InputStream inputStream = WebLoadFileHelper.getInstance().parseFileRequest(url.toString());
|
|
|
+ if (inputStream == null) {
|
|
|
+ return super.shouldInterceptRequest(view, request);
|
|
|
+ } else {
|
|
|
+ String mimeType = null;
|
|
|
+ try {
|
|
|
+ mimeType = URLConnection.guessContentTypeFromStream(inputStream);
|
|
|
+ // 返回 WebResourceResponse
|
|
|
+ return new WebResourceResponse(mimeType, "UTF-8", inputStream);
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return super.shouldInterceptRequest(view, request);
|
|
|
+ }
|
|
|
+
|
|
|
//处理报错信息
|
|
|
@Override
|
|
|
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
|
|
|
super.onReceivedError(view, request, error);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|