Android的intent-filter与文件无关,无论其扩展名如何

时间:2014-10-11 12:58:36

标签: android android-intent intentfilter

我希望我的应用程序能够使用XML内容打开.src个文件。它部分有效;有一个问题我无法解决:看起来Android在匹配意图时不会考虑android:pathPattern。我的intent-filter看起来像这样:

<intent-filter>
    <action android:name="com.google.android.apps.drive.DRIVE_OPEN" />
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:host="*" android:mimeType="text/xml" android:pathPattern=".*\\.src" />
    <!-- path pattern does not match dots correctly: http://stackoverflow.com/q/3400072/44089 -->
    <data android:pathPattern=".*\\..*\\..*\\.src" />
    <data android:pathPattern=".*\\..*\\..*\\..*\\.src" />
    <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.src" />
</intent-filter>

在我添加android:mimeType="text/xml"之前,字面上每个'视图'操作都与我的应用匹配,即我的应用在应用选择器中可见,即使我想看到联系人。幸运的是,添加mimeType过滤有点帮助。但是,pathPattern似乎并没有改变我的意图过滤的方式。

我已经看过几十个关于这个的教程,代码是完全相同的。它必定是一些奇怪的,不寻常的情况。我究竟做错了什么?我对任何想法或建议表示感谢。

1 个答案:

答案 0 :(得分:1)

引用the documentation for android:path* attributes

  

仅当为过滤器指定了方案和主机属性时,这些属性才有意义。

您似乎没有计划。