我们有一个 Android 应用程序可以打开某些类型的文件。我在 AndroidManifest.xml 文件中为每个过滤器声明了一个意图过滤器(示例扩展名:ext):
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="file" android:host="*" android:mimeType="*/*" android:pathPattern=".*\\.ext"/>
</intent-filter>
打开文件时一切正常,例如myFile.ext
,但是如果文件被命名为myFile.EXT
or myFile.ExT
等意图过滤器似乎没有接收到它。除了枚举意图过滤器中所有可能的大写排列之外,还有其他方法可以指定不区分大小写的匹配吗?
文档here http://developer.android.com/guide/topics/manifest/data-element.html提到数据元素的其他属性区分大小写,但没有提及 pathPattern。我尝试将不区分大小写的正则表达式的 java 指令添加到导致以下结果的模式中"(?i).*\\.ext"
并对多个进行“或”运算,例如".*\\.ext|.*\\.EXT"
但这似乎也不起作用。
我将不胜感激任何帮助或建议。
Thanks!
android:pathPattern
不是完整的正则表达式。它是 ”简单的全局变量 http://developer.android.com/reference/android/os/PatternMatcher.html#PATTERN_SIMPLE_GLOB“它只支持正则表达式功能的一小部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)