android - 如何允许 android 浏览器下载特定扩展名的文件?

标签 android android-intent intentfilter

我想让默认的 android 浏览器能够下载特定文件扩展名的文件,例如 .xyz。

如果不安装 Astro(或其他文件管理器),用户将收到错误消息“无法下载。此手机不支持该内容”。安装 Astro 应用程序允许 android 浏览器将任何文件下载到 sdcard。

它是如何做到的?我不希望我的应用程序的用户必须下载 Astro,而是让操作系统或浏览器知道可以下载扩展名为 .xyz 的文件,因为我的应用程序会处理这些文件。

最佳答案

将适当的条目添加到 list 中,以便您响应 ACTION_VIEW Intents对于那种类型的文件。例如,此过滤器适用于可以查看 PDF 文件的 Activity :

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:mimeType="application/pdf" />
        </intent-filter>

使用适当的 <data>元素,你可以从字面上看 .xyz文件,但我认为如果您可以改为监视 MIME 类型会更好。

关于android - 如何允许 android 浏览器下载特定扩展名的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3507101/

相关文章:

Android Oreo 后台位置限制

java - Android 相机预览失败(仅限 API<14)

android - 如何编译示例代码

android - 无法接收 UsbManager.ACTION_USB_DEVICE_ATTACHED/UsbManager.ACTION_USB_DEVICE_DETACHED 的广播 Intent

android - list 与 Activity 中的广播接收器注册

android - Android 中的 TextWatcher 警告和慢速类型

java - 从其他应用程序接收数据 - android

java - URL编码异常

java - 如何减少图表引擎中饼图的边距大小?

android - 记录广播 Intent 并手动触发它们(Android)