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>
Спасибо,
Ответы
Ответ 1
Я думаю, что строка, которая соответствует pathPattern, является "/", а "#id..." опущена, поскольку она является частью фрагмента. Если вы использовали http://www.domain.com/id/abcdef123456, pathPattern мог бы соответствовать "/id/.*", потому что он является частью пути.