【问题标题】:how to track an webpage when it is redirected from another web page within a web view in android当网页从android的网络视图中的另一个网页重定向时如何跟踪网页
【发布时间】:2012-09-17 20:07:51
【问题描述】:

我在网页视图中加载“www.gmail.com”,登录后将加载一个新网页,即我们的 gmail 帐户页面。

当我提交登录详细信息并且正在加载新网页时,我必须跟踪该 url,我不需要任何硬编码值来重定向到任何网页,我想在从另一个网页加载网页时获取该 url ,我怎样才能做到这一点。请帮助我。

这是我的代码:

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    title_text=(TextView)findViewById(R.id.urltxt);
    showWeb=(WebView)findViewById(R.id.webview_details_body);
    showWeb.setWebViewClient(new HelloWeb());
    showWeb.getSettings().setBuiltInZoomControls(true);
    showWeb.getSettings().setLoadWithOverviewMode(true);//show the webpage in fullsize with all info
    showWeb.getSettings().setUseWideViewPort(true);
    WebSettings webSettings = showWeb.getSettings();
    webSettings.setJavaScriptEnabled(true);

    showWebClick();

}
private void showWebClick() {
            showWeb.loadUrl("http://www.gmail.com/");


}


public boolean onKeyDown(int keyCode,KeyEvent event){
    if((keyCode==KeyEvent.ACTION_DOWN)&&showWeb.canGoBack()){
        showWeb.goBack();
        return true;
    }
     return super.onKeyDown(keyCode, event);
    }
public class HelloWeb extends WebViewClient{
    @Override
    public boolean shouldOverrideUrlLoading(WebView vw,String url){
        vw.loadUrl(url);
        s=vw.getUrl();
        title_text.setText( s);
        return super.shouldOverrideUrlLoading(vw, url);
    }
}

}

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以使用 webview 客户端的 getUrl() 方法来实现。

    但是,这并不总是与传递给 WebViewClient.onPageStarted 的 URL 相同,因为虽然该 URL 的加载已经开始,但当前页面可能没有改变。

    您可以参考以下链接:

    http://developer.android.com/reference/android/webkit/WebView.html#getUrl%28%29

    所以你必须在 onPageFinished 方法上调用 geturl 方法。会好的。

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

           /*do your stuff here.*/
    
        }
    

    【讨论】:

      【解决方案2】:

      您的webview 很可能会在其webviewclient 中调用shouldOverrideUrlLoadingonLoadResource,并带有其重定向网址。

      如果我正确理解您的问题,请尝试在您的 WebViewClient 中覆盖 onLoadResource 并查看 url 参数。

      使用onLoadResource 还会生成其他资源的网址,例如图片。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-09
        • 2015-12-07
        • 2021-05-10
        • 1970-01-01
        • 2021-10-28
        • 1970-01-01
        • 2021-09-25
        • 2018-07-14
        相关资源
        最近更新 更多