在谈到细节方面,我还没有完全理解这种“意图”。我想做的是在打开某个电子邮件附件时收到意图。附件将是一个文件,实际上是一个SQLite数据库,其结构特定于我的应用程序,并且文件扩展名也是我的应用程序特有的。
我在实验中注意到的是,当我从我的PC发送文件附件(使用Thunderbird)时,它使用MIME类型“application / octet-stream”进行编码。当我尝试在我的Android手机上打开它(使用K-9邮件)时,它告诉我“application / octet-stream”没有应用程序。
那么我在我的应用程序中做什么才能被识别为这种特定类型的附件的服务应用程序,特别是因为我认为尝试打开这种MIME类型的任何东西都不是一个好主意。
答案 0 :(得分:3)
那么我在我的应用程序中做什么才能被识别为这种特定类型的附件的服务应用程序,特别是因为我认为尝试打开这种MIME类型的任何东西都不是一个好主意。
你没有。
将新文档作为电子邮件附件发明在任何地方都无法正常运行。在这方面,Android只是差一点。
您无法通过MIME类型实际设置ACTION_VIEW
<intent-filter>
,因为您的MIME类型过于笼统。您无法通过文件扩展名设置ACTION_VIEW
<intent-filter>
,因为AOSP电子邮件应用程序以及其他电子邮件客户端处理的电子邮件附件中没有文件扩展名。
我建议您放弃电子邮件附件作为文件的传送矢量,并找到一些其他可以拥有自定义MIME类型的解决方案(例如,从Web服务器下载文件,电子邮件包含指向文件)。然后,MIME类型的ACTION_VIEW
<intent-filter>
可以正常工作。