サーバー上の news.html へのリンクを開くために WebChromeClient を使用します。サファリが開き、コンテンツが表示されます。
しかし...
WebViewClient shouldOverrideUrlLoading を実装して、.pdf ファイルへのリンクであるときに呼び出しをインターセプトすると (別のクラスを使用します)、news.html への WebChromeClient リンクが webview にとどまり、サファリを開かなくなりました...
私は何か間違ったことをしていますが、何ですか?
コードスニペット: (リンクが長いので短くしました)
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");