Android 如何在url更改时关闭WebView
我知道我问过很多次这个问题,但我仍然无法关闭webview,它仍然会重定向到facebook主页Android 如何在url更改时关闭WebView,android,facebook,webview,Android,Facebook,Webview,我知道我问过很多次这个问题,但我仍然无法关闭webview,它仍然会重定向到facebook主页 public class FBShareAll extends Activity { private WebView webView; String testAddress = "some string"; String myUrl; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat
public class FBShareAll extends Activity {
private WebView webView;
String testAddress = "some string";
String myUrl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fbshare_all);
webView = (WebView) findViewById(R.id.webView1);
Intent get = getIntent();
final String QC = get.getExtras().getString("QC");
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new MyWebViewClient());
if(QC.equals("Google")){
String title = "Quezon City Guide";
String desc = "Your Number One City Guide!";
String image = "http://s21.postimg.org/6sq49njub/launchertrans.png";
testAddress ="http://www.facebook.com/sharer.php?m2w&s=100&p[title]="+title+"&p[summary]="+desc+"&p[url]=http://www.sample.com&p[images][0]="+image;
if(myUrl == null){
myUrl = testAddress;
}
webView.loadUrl(myUrl);
}
}
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
myUrl = url;
if(myUrl.equals("http://m.facebook.com/?_rdr")){
ViewGroup vg = (ViewGroup)webView.getParent();
if(vg != null)
vg.removeView(webView);
webView.setVisibility(View.GONE);
finish();
}
// else
view.loadUrl(url);
Log.i("URL", myUrl);
if(myUrl.equals("http://m.facebook.com/?_rdr")){
ViewGroup vg = (ViewGroup)webView.getParent();
if(vg != null)
vg.removeView(webView);
webView.setVisibility(View.GONE);
finish();
}
return true;
}
}
public void onPause(){
super.onPause();
finish();
}
public void onRestart(){
super.onRestart();
finish();
}
}
如果我这样做,它只会关闭webview
if(myUrl.equals(url)){
finish();
}
我不知道为什么它只有在检测到原始url时才会关闭。有人能帮忙吗?谢谢 您可以记录并检查作为参数传递给公共布尔shoulldOverrideUrlLoading(WebView视图,字符串url)方法的url吗<代码>http://www.facebook.com/sharer.php?m2w&s=100&p[标题]=奎松城市指南&p[摘要]=您的头号城市指南&p[url]=http://www.sample.com&p[图片][0]=http://s21.postimg.org/6sq49njub/launchertrans.png。共享后,在日志中显示url
http://m.facebook.com/?_rdr
嘿,我想你需要清除缓存,试试这个代码webview.clearCache(true);有人能帮忙吗(