Android:直接从浏览器下载文件

3
我正在尝试让Android浏览器下载特定类型的文件“ .xxx”,以便我可以将应用程序与其关联。我已经成功完成了关联部分,也就是说,我已经使得在资源管理器应用程序中点击正确类型的文件会加载适当的应用程序。我期望这个操作也可以应用到浏览器上,这样如果我试图下载一个 .xxx 文件类型,它就会打开应用程序。但事实并非如此,所有发生的事情都是文件中包含的文本在浏览器中显示。我在Astro应用程序中设置了这个的mime类型链接(application/xxxx),但这也没有任何区别。因为如果我点击pdf文件,浏览器会下载它并给我选择打开pdf阅读器的选项,所以我相信我的要求是可能实现的。
3个回答

2
您需要在应用程序清单中的<receiver>标签内添加一个<intent-filter>标签。
工作原理如下:
1. Android广播一个意图(intent)。 2. 系统搜索可接收该意图的应用程序列表。 3. 系统询问用户选择要处理该意图的应用程序。 4. 用户选择应用程序,或默认为预先指定的应用程序。 5. 应用程序打开。
请参阅接收器元素文档以了解更多有关如何实现此操作的详细信息。
如果需要更多帮助,请联系我们。
谢谢。

@Ian,元数据可能需要或不需要,这取决于应用程序如何处理文件...意图可能会自动启动,或者文件路径可以传递给应用程序...这都取决于开发人员指定的内容。通常情况下,元数据是硬编码的,因此您需要小心处理它。 - Codeman
我想做的是让内置浏览器将某种文件类型视为需要下载的文件。例如,如果我在浏览器中显示了一些文件,并且我单击其中一个pdf类型的文件,则会打开pdf阅读器。我希望我的.xxx文件和我的应用程序也能实现这一点。将语句放入我的应用程序清单中是否会更改内置浏览器的行为,或者应该在创建mime类型时发生?我可以使得如果我打开astro并单击一个.xxx文件类型,我的应用程序就会打开。 但我无法让浏览器将该文件视为需要下载的文件,而不仅仅是显示文本。 - Colin L
我认为对于浏览器,你需要添加一个意图监听浏览器意图。 - Ian
我在这方面有了一些进展。我最初使用的是三星Galaxy手机,这就是我遇到问题的设备。如果我在HTC Desire Z上尝试同样的事情,它可以正常工作。因此,这一定与浏览器之间的差异有关。 - Colin L

0

Android 可用的所有 MIME 类型: link


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接