Java 无法打开从URL下载到android emulator上的文档或docx文件

Java 无法打开从URL下载到android emulator上的文档或docx文件,java,android,Java,Android,我希望从URL安全地下载或查看应用程序中的PDF和android文件。通过使用DownloadManager或打开一个以URI为参数的意图,我成功地下载并打开了PDF文件。同样的代码将下载doc或docx文件,但当我尝试在android emulator上打开doc\docx文件时(直接从下载),我得到“无法打开文件” 这是打开intent并下载docx\doc文件的代码: public void openWebPage(String url) { Uri webpage = Uri.p

我希望从URL安全地下载或查看应用程序中的PDF和android文件。通过使用
DownloadManager
或打开一个以URI为参数的意图,我成功地下载并打开了PDF文件。同样的代码将下载doc或docx文件,但当我尝试在android emulator上打开doc\docx文件时(直接从下载),我得到“无法打开文件”

这是打开intent并下载docx\doc文件的代码:

public void openWebPage(String url) {
    Uri webpage = Uri.parse(url);
    Intent intent = new Intent(Intent.ACTION_VIEW, webpage);

    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
}

您知道为什么我无法打开这些doc\docx文件吗

您是否有可以显示*.doc/*.docx文件的应用程序?如果是这样的话,可能会有一个类似于Commonware在他的评论中指出的问题,或者是关于应用程序的正确注册,以便它能够对您的意图做出正确的“反应”

如果您的模拟器上没有显示此类文件的应用程序,这意味着没有为您的特定目的注册的应用程序,这反过来意味着它失败,例如说“无法打开文件”

如果没有注册任何应用程序来打开此类文件,这是正常和预期的行为

如果您确实有一个应用程序可以打开Microsoft Word文档,可以尝试重新安装它,这可能会解决您可能遇到的任何问题

因此,归根结底,要安装/重新安装一个应用程序来查看*.doc/*.docx文件。 在应用商店中有无数的Microsoft Windows文档查看者。因此,如果您能够从模拟器中访问Play Store,请继续:)


如果这仍然不能解决您的错误,请尝试进一步解释您的问题,例如,您使用了哪个应用程序,以及它在什么时候失败。据我所知,你的意图是好的,你只是没有一个应用程序来显示你想要打开的任何类型的文档。

大概你的模拟器上没有一个应用程序知道如何显示专有的Microsoft文档格式。或者,来自服务器的MIME类型不正确,并且您的模拟器上没有知道如何显示MIME类型的应用程序。好的,那么要从应用程序打开文件,我是否需要依赖具有类似google docs的用户?是的。这与桌面操作系统没有明显区别,在桌面操作系统中,您不能假设用户安装了Microsoft Office或LibreOffice或其他软件。谢谢,尽管我已经安装并登录了google docs,我可以将文件复制到google docs并从那里打开,但我不能仅从下载文件夹打开它,即使安装了谷歌文档。这似乎有点不同。不过这很有道理,谢谢你有办法从我的应用程序打开它吗?这个答案表明有一种方法:是的,有。从本质上说,你是在用你的意图做正确的事情。我看不出你具体指的是哪一个答案,因为你只是将问题本身链接起来,但正如我已经说过的,你需要某种外部应用程序来查看文件,因为android本身无法呈现Microsoft Word文件。意图基本上是一种广播“嘿,我有事要做,谁能做?”,所以你需要一个能够响应这一点的应用程序,例如,能够显示*.doc/*.docx文件。意图不仅仅是这个,但在你的情况下,你可以这样想。你链接的问题的首要答案是,()就我所知,这是一个完美的解决方案。。我自己还没有测试过,但对于你的情况来说,它看起来相当准确。