Фильтр Intent с использованием path, pathPrefix или pathPattern

Моя тестовая строка uri

http://test.host.com/path/test.html?key1=val1&key2=val2

И я делаю фильтр намерения в манифесте

а. схема и хост (это работает, но я не хочу)

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <data
        android:scheme="http"
        android:host="test.host.com"
    />
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

В. A и путь (pathPrefix, pathPattern) (не работает)

    <data
        android:scheme="http"
        android:host="test.host.com"

        1. android:path="path/test.html" -> not worked (link to chrome broswer)
        2. android:path="path"           -> not worked (link to chrome broswer)
        3. android:pathPrefix="path"     -> not worked (link to chrome broswer)
        4. android:pathPattern="user/invite.*"  -> same (I do not know pattern)

    />

Я хочу начать свое приложение, когда только (путь/test.html),

Ответ 1

В начале отсутствует косая черта. Должно работать следующее:

android:path="/path/test.html"

ИЛИ

android:pathPrefix="/path/test.html"

Ответ 2

Если вам нужно только запустить приложение Если для ссылки /path/test.html Затем использовать атрибут android:path только в теге data

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="http"
        android:host="test.host.com"
        android:path="/path/test.html" />
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

Атрибут android:path указывает полный путь, который сопоставляется с полным путем в объекте Intent. Атрибут Но android:pathPrefix указывает частичный путь, который сопоставляется только с начальной частью пути в объекте Intent.

Поэтому, если атрибут android:pathPrefix не атрибут android:path означает, что ваше приложение может начинаться с /path/test.html, /path/test.html?key1=value1, /path/test.html?key1=value1&key2=value2 и т.д.

Дополнительная информация о android doc для тега данных в intent-filter

Ответ 3

Атрибут pathPrefix указывает частичный путь, который сопоставляется только с начальной частью пути в объекте Intent.

android:pathPrefix="/path/" также будет работать.