使用特殊查询过滤清单中的DeepLinks

问题描述 投票:1回答:1

假设我有两个链接

1 - https://www.google.com/url?q=https://www.siteA.com/modA/4446

2 - https://www.google.com/url?q=https://www.siteB.com/modB/8988

清单中的以下代码片段在单击两者时触发应用程序

       <activity
            android:label="@string/title_activity_dl"
            android:name=".DLActivity"
            android:theme="@style/AppTheme"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="www.google.com"
                    android:scheme="https"
                    android:pathPrefix="/url"
                    />
            </intent-filter>
        </activity>

有没有办法在url?q之后过滤部分,所以只有点击链接1才能触发应用程序

我尝试了这个,但它没有成功

android:pathPrefix="/url?q=https://www.siteA.com/"

任何帮助表示赞赏

android deep-linking
1个回答
1
投票

我终于通过使用sspPattern使其工作如下

<data
    android:scheme="https"
    android:sspPattern="//www.google.com/url?q=https://www.siteA.com/modA/.*"
/>

这会触发任何以https://www.google.com/url?q=https://www.siteA.com/modA/开头的东西

例如:

https://www.google.com/url?q=https://www.siteA.com/modA/4446

https://www.google.com/url?q=https://www.siteA.com/modA/5555

https://www.google.com/url?q=https://www.siteA.com/modA/9999

© www.soinside.com 2019 - 2024. All rights reserved.