所以我的目标是深度链接任何具有此格式的网址 MyWebsite / EN /传单/ {STORENAME} -flyer- {STOREID}
当StoreName没有减号时,此网址https://www.salewhale.ca/en/flyers/walmart-flyer-2864 正常运行。 但是在这种情况下,https://www.salewhale.ca/en/flyers/canadian-tire-flyer-25659深层链接无法正常工作,操作系统只会打开浏览器,而不是选择StoreActivity用于任何在StoreName中包含 - 减号的链接。
在这下面我的Manifest你可以快速尝试。
<activity
android:name=".ui.activity.StoreActivity"
...
>
<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:host="www.salewhale.ca"
android:pathPattern="/fr/circulaires/.*-circulaire-.*"
android:scheme="https"/>
<data
android:host="salewhale.ca"
android:pathPattern="/en/flyers/.*-flyer-.*"
android:scheme="http"
/>
</intent-filter>
</activity>
PS:我知道Android pathPattern不是真正的正则表达式。
答案 0 :(得分:0)
我回答得很晚,但是...
由于您具有固定的路径模式,即MyWebsite / en / flyers / {StoreName} -flyer- {StoreId},因此您必须尝试解析活动中的路径而不是使用正则表达式来解析它。因此,当您已经知道pathPattern不是真正的正则表达式时,可以使用Java提取StoreName和StoreId而不是依赖于Regex。