我怎么能说链接必须是“https://www.example.org/kk/article/Details”或“https://www.example.org/ru/article/Details”或“https://www.example.org/en/article/Details”
需要在下面的代码中找出路径模式中的“kk或en或ru”部分
<intent-filter android:label="login">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https"
android:host="www.example.org"
android:pathpattern="/kk or en or ru/article/Details" />
</intent-filter>
答案 0 :(得分:4)
android:pathpattern
并不支持普通正则表达式所做的所有规则。有关更多信息,请阅读this。唯一的方法就是这样:
<intent-filter android:label="login">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="www.example.org" android:pathpattern="/kk/article/Details" />
<data android:scheme="https" android:host="www.example.org" android:pathpattern="/en/article/Details" />
<data android:scheme="https" android:host="www.example.org" android:pathpattern="/ru/article/Details" />
</intent-filter>
答案 1 :(得分:1)
您需要定义所有类型,即您需要为每个路径值指定数据标记。
答案 2 :(得分:1)
<intent-filter android:label="login">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
android:host="www.example.org" />
android:pathpattern="/kk/article/Details" />
android:pathpattern="/en/article/Details" />
android:pathpattern="/ru/article/Details" />
答案 3 :(得分:0)
这是一个老问题但可能对新用户有用。有一个更简单的解决方案是:
<intent-filter android:label="login">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="www.example.org"
android:pathpattern="/.*/article/Details" />
</intent-filter>