Android webview下载并查看pdf,xls或doc文件

我正在制作一个使用webview浏览特定网站的android应用程序。 问题是我希望用户能够查看网站中的pdf,.xls或.doc文档。

我有这个代码,但它打开Android浏览器而不是查看PDF文件。

webView.setDownloadListener(new DownloadListener() {
    public void onDownloadStart(String url, String userAgent,
            String contentDisposition, String mimetype, long contentLength) {
        Uri uri = Uri.parse(url);
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent);

    }
});

此外,我尝试使用谷歌文档查看器,但这也不起作用。 它打开我的链接的HTML,它不打开文件! 该网站并没有引导你到PDF的链接,它只允许你下载它,这就是为什么谷歌文档查看器不起作用。

我想打开像android浏览器的文件。 它下载文件,然后打开它。 我怎样才能做到这一点? 我以为使用android下载管理器,但我如何下载文件,打开它,当用户关闭它删除该文件? 因为我只想下载暂时的时间。

任何想法都欢迎。 谢谢你的时间!


您必须首先下载文件,以便Android可以找到合适的应用程序来打开它们,因为Uri.parse(url)会为您提供一个网站地址,该地址通常分配给浏览器(因此将在其中打开) )。

要下载这些文件,您可以使用DownloadManager -service或编写自己的代码来执行此操作。 将文件放在临时位置后,可以使用上述方法打开文件。

如果您想在用户查看文件后删除文件,则有一个想法是在您的活动onResume() - 方法中执行该操作,当用户从查看文件导航回来时(使用后退按钮)将调用该方法。

尽管如此,我宁愿将文件放在内部缓存中,然后每隔一段时间擦除一次。 Android也会自己做一些小事:

当设备内部存储空间不足时,Android可能会删除这些缓存文件以恢复空间。 但是, 您不应该依赖系统为您清理这些文件。 您应该始终自行维护缓存文件并保持在合理的占用空间限制内,例如1MB。 当用户卸载您的应用程序时,这些文件将被删除。

链接地址: http://www.djcxy.com/p/46763.html

上一篇: Android webview download and view pdf, xls or doc files

下一篇: How do I convert Word files to PDF programmatically?