7

我从 Internet 成功下载了一个 pdf 文件,然后使用以下 Intent 打开下载文件夹:

Intent pdfFileIntent = new Intent();
pdfFileIntent.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS);
ctx.startActivity(pdfFileIntent);

此代码位于我为处理下载完成事件而创建的 BroadcastReceiver 的 onReceive() 方法中。下载完成并成功(我可以在下载文件夹中看到下载状态,下载完成后立即打开,正如预期的那样)。但是,当我单击新下载的文件时,会弹出另一个对话框,要求我选择打开文件的应用程序(我可以选择 Adob​​e Reader 或 Quickoffice)。当我选择 Adob​​e Reader 时,我收到错误:“文档路径无效”,当我选择 Quickoffice 时,我收到错误:“文件无法打开”。

这非常烦人,尤其是因为下载文件夹以及下载文件的下载过程和管理完全不在我的掌控之中 - Android 在将下载目录中的文件呈现给我时会知道它们,所以它怎么可能不'不通过有效路径?到底是怎么回事?为了清楚起见,我没有在代码中指定任何路径 - Android 选择了保存文件的路径。而且我什至可以看到该文件具有合理的 KB 大小,这意味着它不是空的,它绝对是一个 pdf 文件(.pdf 扩展名)。

请帮忙。提前致谢。

4

1 回答 1

1

而且我什至可以看到该文件具有合理的 KB 大小,这意味着它不是空的,它绝对是一个 pdf 文件(.pdf 扩展名)。

文件具有 PDF 扩展名的事实并不一定使其成为有效的 PDF 文件!将文件移动到您的 PC 上,看看您是否可以在那里打开它。执行下载的代码中可能存在错误,导致将一些无效内容写入文件。

于 2013-05-27T07:13:00.107 回答