Android: связывание приложений - поддержка только определенных путей?

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

<intent-filter  android:autoVerify="true">
<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.mydomain.com/[mypath]" />
<data android:scheme="https" android:host="www.mydomain.com/[mypath]" />
</intent-filter>

Я не хочу, чтобы каждый URL, на котором есть мой домен, открывал приложение - они могут открываться в браузере как обычно. Я хочу, чтобы в приложении открывались только те URL-адреса, которые содержат определенный подпуть. Разрешен ли этот шаблон или это "все или ничего" для ссылок на приложения?

Ссылка на документы для разработчиков: http://developer.android.com/training/app-links/index.html

1 ответ

Решение

У вас могут быть специальные пути, но вы не можете / не должны добавлять их к хосту.

У тебя должно быть

<data android:scheme="https" android:host="www.mydomain.com" />

И оттуда вы можете использовать android:path android:pathPattern или android:pathPrefix для создания специальных шаблонов.

Например,

<data android:scheme="https" android:host="www.google.com" android:path="/en/index.html"/>

будет только поймать URL " https://www.google.com/en/index.html"

Другие вопросы по тегам