我使用 WebChromeClient 在我的服务器上打开指向 news.html 的链接,它会打开 safari 并显示内容,好的。
但...
当我实现 WebViewClient shouldOverrideUrlLoading 以在调用链接到 .pdf 文件(使用另一个类)时拦截调用时,指向 news.html 的 WebChromeClient 链接保留在 webview 中并且不再打开 safari...
我做错了什么,但是什么?
代码片段:(链接很长,所以我缩短了它)
myWebView = (WebView)findViewById(R.id.webView);
myWebView.getSettings().setJavaScriptEnabled(true);
//only to catch url override
myWebView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.startsWith("http://www.domain.nl/pdf")){
Intent i = new Intent();
i.putExtra("url", url);
i.setClassName("nl.domain.domain", "nl.domain.domain.PdfActivity");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
return true ;
}
else {
return false ;
}
}
});
myWebView.setWebChromeClient(new WebChromeClient());
//loading
myWebView.loadUrl("http://www.domain.nl/news.html");