2

说到细节,我还没有完全理解这个“意图”。我想做的是在打开某个电子邮件附件时收到一个意图。附件将是一个文件,它实际上是一个 SQLite 数据库,其结构特定于我的应用程序,并且文件扩展名也特定于我的应用程序。

我在实验中注意到的是,当我从我的 PC(使用 Thunderbird)发送文件附件时,它是用 MIME 类型的“application/octet-stream”编码的。当我尝试在我的 Android 手机上打开它(使用 K-9 邮件)时,它告诉我没有“应用程序/八位字节流”的应用程序。

那么,我应该在我的应用程序中做什么才能被识别为这种特定类型附件的服务应用程序,特别是因为我认为尝试使用这种 MIME 类型打开任何东西不是一个好主意。

4

1 回答 1

3

那么,我应该在我的应用程序中做什么才能被识别为这种特定类型附件的服务应用程序,特别是因为我认为尝试使用这种 MIME 类型打开任何东西不是一个好主意。

你没有。

发明新文档作为电子邮件附件在任何地方都不能很好地工作。在这方面,Android 只是差了一个档次。

您无法实际设置ACTION_VIEW <intent-filter>按 MIME 类型,因为您的 MIME 类型太笼统。您不能ACTION_VIEW <intent-filter>按文件扩展名设置,因为电子邮件附件上没有文件扩展名,AOSP 电子邮件应用程序可能也处理其他电子邮件客户端。

我鼓励您放弃将电子邮件附件作为文件传递媒介的做法,并寻找其他可以自定义 MIME 类型的解决方案(例如,从 Web 服务器下载文件,电子邮件中包含指向文件的链接)。然后,ACTION_VIEW <intent-filter>按 MIME 类型可以正常工作。

于 2011-02-22T17:10:08.413 回答