Android WebView协议处理程序

时间:2011-11-30 20:23:01

标签: android android-webview webviewclient protocol-handler url-interception

我正在尝试使用WebView开发Android浏览器应用程序,使用户可以从自定义协议访问内容。自定义协议可以是 foobar://

我想拦截对此自定义协议的所有请求。这意味着:

  1. 获取请求
  2. POST请求
  3. 我需要能够将这些操作的结果传回WebView。

    可以使用shouldInterceptRequest处理GET请求(可从API级别11获得)。

    现在我的问题是:我如何处理和处理POST请求

    几乎同样的问题被问到herehere,但是找不到解决问题的方法。

1 个答案:

答案 0 :(得分:0)

您是否尝试覆盖post方法,例如:

private class ViewerWebViewClient extends WebViewClient {

        @Override
        public void onPageFinished( WebView view, String url ) {

        }

        @Override
        public boolean shouldOverrideUrlLoading( WebView view, final String url ) {
            if(!url.contains(MYKEYWORD))
                {
                Toast.makeText(getActivity(),POSTING, Toast.LENGTH_LONG).show();
                return true;
                }
            return super.shouldOverrideUrlLoading(view, url);
        }
    }

这只是一个想法。也许可以帮到你。