gpt4 book ai didi

android - 如何添加自定义 mime 类型?

转载 作者:IT老高 更新时间:2023-10-28 21:35:28 26 4
gpt4 key购买 nike

我想要什么:能够通过邮件发送我的自定义文件,并通过 GMail 中的预览按钮或在文件浏览器中打开它时将其与我的应用程序一起导入。

我知道的:我已经阅读了很多自定义 mime 类型处理程序,android 不关心文件扩展名等,但是如何为我的自定义文件创建 mime 类型?

问题:我需要成为内容提供商吗?我只想导入文件(从备份)不提供任何东西。我见过有人为“application/abc”处理程序说它工作正常,但是如何为我的文件“myFile.abc”和 MIME 类型添加该连接?

将不胜感激有关如何注册/映射自定义 mime 类型的一些指导! :)

最佳答案

据我所知,mime 类型非常灵活(我将我的创建为 application/whatever)并且它们立即被 Android 接受,早在 Dalvik 2.1 版。为了正确处理它们,我添加了这个 Intent 过滤器:

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

但有一个警告。尽管我总是使用 intent.setType("application/whatever"); 设置发送 Intent 的类型,但在某些手机上,我已经看到到达时的实际数据为 application/octet (为了查看值,我分配了传入的 Intent 并直接检查了它的值 Intent currentIntent = getIntent();)。接收的 Android 设备不知道如何处理传入的数据并告诉我。所以我加了

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

这种方法当然会很麻烦,但至少 Gmail 的问题在于它不一定会按照传入的名称写入文件,这使得我选择定义的任何路径都无用。并且至少对于传入的 octet-stream 您知道这不是您窃取的任何应用程序的特定数据......不过,您应该在之后验证数据,而不仅仅是假设它对您的应用程序有效。

关于android - 如何添加自定义 mime 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5744944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com