вторник, марта 10, 2015

Как обработать pdf в WebView / How to handle pdf in WebView

Пусть на отображаемой страничке есть ссылка, которая указывает на PDF-документ. 
Нам нужно эту страничку - отобразить. 
В данном варианте при клике по такой ссылке отображается стандартный браузер, но тут уже всё в наших руках.

Удобно использовать API от Гугла:

private static final String GOOGLE_DOC_VIEW_URL = "https://docs.google.com/viewer?embedded=true&url=";

...

WebViewClient viewClient = new WebViewClient() {
   ...
    @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.endsWith("pdf")) {
String googleDocsLink = GOOGLE_DOC_VIEW_URL + url;
Uri uri = Uri.parse(googleDocsLink);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
return true;
}
return super.shouldOverrideUrlLoading(view, url);
}
}

...

webView.setWebViewClient(viewClient);