小编Xtr*_*mir的帖子

在WebViewClient中覆盖shouldInterceptRequest时系统崩溃

目标:

覆盖WebView发出的所有请求并自行发出请求(最终设置代理).

码:

@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
    if (url == null || url.trim().equals(""))
        return null;

    final DefaultHttpClient httpClient = new DefaultHttpClient();
    httpClient.getConnectionManager().closeExpiredConnections();
    final HttpUriRequest httpRequest = new HttpGet(url);

    try {
        final HttpResponse response = httpClient.execute(httpRequest);
        final Header[] headers = response.getHeaders(CONTENT_TYPE);
        String mimeType = "";
        String encoding = "";
        if (headers != null && headers.length > 0) {
            final String type = headers[0].getValue();
            final int semicolonIndex = type.indexOf(';');
            if (semicolonIndex != -1) {
                mimeType = type.substring(0, semicolonIndex).trim(); …
Run Code Online (Sandbox Code Playgroud)

android webview android-webview webviewclient

19
推荐指数
1
解决办法
2364
查看次数

标签 统计

android ×1

android-webview ×1

webview ×1

webviewclient ×1