Фильтровать глубокие ссылки в манифесте с помощью специального запроса

#android #deep-linking

#Android #глубокие ссылки

Вопрос:

Допустим, у меня есть две ссылки

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? вопрос таким образом, приложение будет запущено только при нажатии на ссылку 1

Я пробовал это, но это не сработало

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

Любая помощь приветствуется

Комментарии:

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