在我的 Android 应用程序中,我有从数据库访问的各种 URL,然后打开 WebView 来显示该 URL。通常,该 url 看起来像这样:
http://www.mysite.com/referral.php?id=12345
这些引荐链接总是重定向/转发到另一个网址。有时,生成的 url 直接指向图像。有时是 PDF。有时只是另一个 HTML 页面。
无论如何,我需要能够区分这些不同类型的页面。例如,如果生成的 URL 链接到 PDF 文件,我想使用 Google Docs Viewer 技巧来显示它。如果它只是一个普通的 HTML 页面,我想简单地显示它,如果它是一个图像,我计划下载该图像并以某种方式在我的应用程序中显示它。
我认为解决此问题的最佳方法是确定生成的 url 的 mime 类型。你怎么做到这一点?还有更好的方法来实现我想要的吗?
您可以通过以下方式找出 MIME 类型的内容:
webView.setDownloadListener(new DownloadListener() {
@Override
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {
//here you getting the String mimetype
//and you can do with it whatever you want
}
});
在此方法中,您可以检查 mimetype 是否为 pdf,并使用修改后的 url 通过 Google Docs 在 WebView 中显示它,如下所示:
String pdfPrefixUrl = "https://docs.google.com/gview?embedded=true&url="
if ("application/pdf".equals(mimetype)) {
String newUrl = pdfPrefixUrl + url;
webView.loadUrl(newUrl);
}
希望它会有所帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)