我有一个扩展名为.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的文件时,它甚至不会下载该文件并且不会触发任何意图。关于问题可能出在何处的任何建议?
如果我遗漏任何信息,我很乐意添加问题。
答案 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>