在我的应用程序中,我想要处理使用以下模式的链接:
scheme://host/folder1/folder2/folder3/folder4/article
我通过使用以下内容暂时让它起作用:
<intent-filter>
<data android:scheme="http" />
<data android:host="www.laprensa.com.ni" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
然而,您可能想象到这会打开以 scheme://host
开头的任何链接,我想确保我只捕获那些具有上述模式的链接,其中页面位于主机内的第四个文件夹中。
另一个小问题是文件夹名称从不相同,因此我不能简单地使用android:path
。值得注意的是,android:pathPrefix
也不同,因为前三个文件夹与日期相关。
例如,这些url的结构如下:
scheme://host/year/month/day/articleType/article
我一直在阅读文档和关于如何使用android:pathPattern
的问题,但我真的不明白我应该输入什么。
有任何想法吗?
谢谢!
编辑
根据建议,我尝试了:
android:pathPattern="/.*/.*/.*/.*/.*"
其中每个“.*”代表一个文件夹,但似乎仍会捕捉到其他不是文章的URL。例如,这里是两个不同的URL:
我想处理的URL:
http://www.laprensa.com.ni/2013/05/10/vida/145996-lionel-richie-defiende-a
我不想处理的URL
http://www.laprensa.com.ni/2013/05/10/vida/
我想问题在于它们都有相同数量的级别,唯一的区别是一个在最后一个'/'
之后实际上有东西,还有其他什么想法可以尝试吗?我尝试添加了一个'/.*'
,但这完全停止工作,应用程序停止处理任何链接 :(