当用户尝试打开 xml 文件时,能够在我的应用中打开 XML 文件。有很多类似的问题,但我尝试了很多,似乎没有任何帮助。
当我对 PDF 文件使用这些意图过滤器时,它工作得很好(对于 PDF(,但是当我用"xml"替换两个提到的"pdf"时,即使文件位于同一文件夹中,它也不适用于 XML 文件。
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/pdf" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file"
android:host="*"
android:pathPattern=".*\.pdf" />
</intent-filter>
就我而言,application/xhtml+xml
解决了我的问题。
您有两个<intent-filter>
元素。
第一个依赖于 MIME 类型。 application/xml
是 XML 文件的可能 MIME 类型,但 text/xml
也是如此。并且,对于某些XML文件,可能会根据XML的内容使用另一种MIME类型(例如,对于使用Atom架构编写的内容application/atom+xml
(。文件管理器和其他"通用"内容管理器将倾向于使用MimeTypeMap
文件扩展名报告的任何MIME类型。其他应用(如电子邮件客户端和 Web 浏览器(将使用服务器报告的 MIME 类型。
第二个依赖于方案(file
(和文件扩展名(.xml
(。file
方案正在慢慢消失,因此这种特殊的<intent-filter>
将来不会太多使用。