Android:在本机电子邮件中发布打开自定义文件附件

时间:2013-01-11 23:07:05

标签: android android-intent email-attachments

我有一个扩展名为.abc的文件,我试图在我的个人应用中读取此文件。我在清单xml中有以下intent过滤器。

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />        
  <data android:scheme="file" />
  <data android:scheme="content" />
  <data android:mimeType="*" />
  <data android:pathPattern=".*\\.abc" />
  <data android:host="*" />
</intent-filter>

此过滤器捕获从文件浏览器,第三方电子邮件客户端等发送的所有意图,但本机电子邮件客户端除外。文件浏览器应用程序和本机电子邮件客户端之间的唯一区别在于,文件浏览器的方案是“文件”,本机电子邮件客户端的方案是“内容”。当我在本机电子邮件客户端中的附件中单击扩展名为.abc的文件时,它甚至不会下载该文件并且不会触发任何意图。关于问题可能出在何处的任何建议?

如果我遗漏任何信息,我很乐意添加问题。

1 个答案:

答案 0 :(得分:1)

这是解决问题的方法。具有自定义扩展名的文件的mime类型是application /。将以下过滤器添加到清单文件解决了这个问题。

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />        
  <data android:scheme="file" />
  <data android:mimeType="application/abc" />
  <data android:host="*" />
</intent-filter>