Подтвердить что ты не робот

Android Intent-Filter для http-адреса

Я пытаюсь перехватить пару разных ссылок с моим приложением, и у меня возникают проблемы с параметрами данных фильтра намерения.

Вот два типа ссылок, которые я хочу перехватить

Я уже решил иметь отдельное действие для перехвата обеих ссылок и использовать java regex для запуска правильной работы. Однако я не могу записать только эти два формата, не записывая что-то вроде http://www.domain.com/abc123

<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:scheme="http"
                android:host="www.domain.com"
                android:pathPattern="/#id.*" />
        </intent-filter>

Это то, что я сейчас пытаюсь перехватить тип 1, и по какой-то причине он не работает.

Этот фильтр намерения правильно перехватывает тип 2

<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:scheme="http" />
            <data android:host="domain.com" />
            <data android:host="www.domain.com" />
            <data android:pathPrefix="/share/web" />
            <data android:pathPrefix="/social/landing" />
        </intent-filter>

Спасибо,

4b9b3361

Ответ 1

Я думаю, что строка, которая соответствует pathPattern, является "/", а "#id..." опущена, поскольку она является частью фрагмента. Если вы использовали http://www.domain.com/id/abcdef123456, pathPattern мог бы соответствовать "/id/.*", потому что он является частью пути.