当涉及到细节时,我仍然没有完全理解这个“Intent ”的事情。我想做的是在打开某个电子邮件附件时收到 Intent 。该附件实际上是一个 SQLite 数据库文件,其结构特定于我的应用程序,并且具有也特定于我的应用程序的文件扩展名。
我在试验中注意到的是,当我从我的电脑(使用 Thunderbird)发送文件附件时,它使用 MIME 类型“application/octet-stream”进行编码。当我尝试在 Android 手机上打开此文件(使用 K-9 邮件)时,它告诉我没有“application/octet-stream”的应用程序。
那么我应该在我的应用程序中做什么才能被识别为这种特定类型附件的服务应用程序,特别是因为我认为尝试打开具有这种 MIME 类型的任何内容都不是一个好主意。
最佳答案
So what do I do in my app to be recognized as a servicing app for this particular type of attachment, especially since I expect it's not a good idea to try to open anything with this MIME type.
你不知道。
以电子邮件附件的形式发明新文档在任何地方都不太有效。 Android 在这方面只是差了一点。
您无法实际设置 ACTION_VIEW
<intent-filter>
按MIME类型,因为你的MIME类型太笼统了。您无法设置ACTION_VIEW
<intent-filter>
通过文件扩展名,因为 AOSP 电子邮件应用程序以及其他电子邮件客户端处理的电子邮件附件没有文件扩展名。
我鼓励您放弃将电子邮件附件作为文件的传递媒介,并找到一些其他可以拥有自定义 MIME 类型的解决方案(例如,从 Web 服务器下载文件,电子邮件中包含指向文件)。然后,一个ACTION_VIEW
<intent-filter>
通过 MIME 类型可以正常工作。
关于Android:接收电子邮件附件的 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5080801/