重定向网址时遇到问题。我设置了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;
}
}
}
答案 0 :(得分:2)
嗯,我认为是因为你的这种情况,
if(url.contains(fbRegsitered)){
WebViewActivity.this.finish();
}
不满意所以它没有调用WebViewActivity.this.finish();
。原因是您正在加载url - "http://m.facebook.com/r.php"
,并且条件是您正在检查"http://m.facebook.com/gettingstarted/"
。因此,如果没有其他部分可以处理其他部分,则返回false。
答案 1 :(得分:0)
如果您不需要,请从WebViewActivity中删除onKeyDown的代码,或者只是尝试删除它。感谢