如果加载了某些URL,则中断不起作用

时间:2014-12-24 03:24:43

标签: android webview

我有webview,它会发布登录字符串,更改视图,然后加载页面:

    String url = uurrll;
            mWebview .postUrl(url, EncodingUtils.getBytes(fullpost, "BASE64"));
            mWebview.setWebViewClient(new WebViewClient() {

                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    if(url.contains("/logout")) {
                        view.stopLoading();
                        setContentView(R.layout.preweb);
                        addListenerOnButton();
                        return true;
                    }
                    if(url.contains("/loginf")) {
                        view.stopLoading();
                        setContentView(R.layout.preweb);
                        addListenerOnButton();
                        return true;
                    }
                    else {
                        return false;
                    }
                }

            });

在此范围内,我希望不断监控正在加载的URL。如果用户单击页面中的超链接并且URL包含某种模式,我想停止加载并重定向到任何内容。上面的代码只是我现在正在进行测试的一个例子。

我无法让它发挥作用。如果弹出的URL有" loginf"在其中,根本没有任何事情发生。我已经尝试将shouldOverrideUrlLoading移动到我的代码中的不同部分,但它在任何地方都无法运行。

任何建议,或者我是否完全错误?

编辑:我认为这是因为网页调用的新网址是通过Javascript进行的。如何从Javascript中读取/中断URL请求?

1 个答案:

答案 0 :(得分:0)

我认为关键是setContentView(R.layout.preweb);,您可以在new WebViewClient()

中使用它

如果要重定向到其他网址,请使用mWebview.postUrl();

如果要显示其他布局,请使用XXActivity.this.setContentView(R.layout.preweb);

Debug UI GUIDE

现在,该工具位于$ANDROID_HOME/tools/monitor