java - 无法打开从 URL 下载到 Android 模拟器的 doc 或 docx 文件

标签 java android

我希望通过 URL 在应用程序中安全地下载或查看 PDF 和 Android 文件。我可以使用 DownloadManager 或打开以 URI 作为参数的 Intent 成功下载并打开 PDF 文件。相同的代码将下载 doc 或 docx 文件,但是当我尝试在 android 模拟器上打开 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 文件的应用程序吗?如果是这样,可能会出现类似于 CommonsWare 在评论中指出的问题,或者正确注册应用程序以使其对您的 Intent 做出正确“ react ”。

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

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

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

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

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

关于java - 无法打开从 URL 下载到 Android 模拟器的 doc 或 docx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56789962/

相关文章:

android - 使用 JNI 传递和返回 OpenCv Mat 对象

android - 如何同时播放两种声音?

java - Android 中的 ListView、ArrayAdapter

java - 使用 Selenium WebDriver 确认网页中显示文本

java - .NET 相当于内部类型数组的 java.util.Arrays.hashCode() 函数?

java - 多维数组列表(索引错误)

android - 通过以太网在设备上运行 Android 应用程序

java - 什么是 Java ASM 节点?

java - 如何创建 Boolean 类的 bean 对象

android - 通过蓝牙发送字符