(android)重定向url时WebViewClient不工作

(android)重定向url时WebViewClient不工作,android,Android,当url被重定向时,我面临问题。我设置了webviewclient和 当url被重定向时,它应该完成webview活动。 但它不起作用,我想知道为什么。。。下面是我的代码,我会 如果有人能帮助我,我将不胜感激。thx public class WebViewActivity extends Activity { WebView mWebView; String fbRegsitered = "http://m.facebook.com/gettingstarted/"; //"http://m

当url被重定向时,我面临问题。我设置了webviewclient和 当url被重定向时,它应该完成webview活动。 但它不起作用,我想知道为什么。。。下面是我的代码,我会 如果有人能帮助我,我将不胜感激。thx

public class WebViewActivity extends Activity {

WebView mWebView;
String fbRegsitered = "http://m.facebook.com/gettingstarted/";
//"http://m.facebook.com/r.php?refid=0
String fbUnregisterd = "http://m.facebook.com/r.php?refid=0";
private ProgressDialog mSpinner;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);
    mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.getSettings().setJavaScriptEnabled(true);  
    mWebView.loadUrl("http://m.facebook.com/r.php");  
    mWebView.setWebViewClient(new HelloWebViewClient()); 
}

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { 
        mWebView.goBack(); 
        return true; 
    } 
    return super.onKeyDown(keyCode, event); 

}

private class HelloWebViewClient extends WebViewClient { 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
        //view.loadUrl(url); 
        if(url.contains(fbRegsitered)){
            WebViewActivity.this.finish();
        }
        if(url.startsWith(fbUnregisterd)){              
            //finish();
        }
        return true; 
    } 
}
}

如果您不需要onKeyDown代码,只需从WebViewActivity中删除该代码,或者只需尝试删除一次即可。谢谢

嗯,我想是因为你的这种情况

if(url.contains(fbRegsitered)){
            WebViewActivity.this.finish();
        }

不令人满意,因此它没有调用
WebViewActivity.this.finish()。原因是您正在加载
url-http://m.facebook.com/r.php“
并且在您正在检查的条件下,
”http://m.facebook.com/gettingstarted/“
。因此,如果没有其他部分来处理其他部分,则返回false。

我在谷歌上搜索,发现我要查找的是onPageFinished()或onPageStarted()。谢谢你回答这个非理性的问题。