1

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

<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>

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

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

4

1 回答 1

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>
于 2013-01-21T13:55:19.513 回答