2016-04-02 11 views
4

Ich möchte App-Verknüpfung für meine App einrichten, aber nur für bestimmte Pfade aktiv sein. Mit anderen Worten, in meinem Manifest:Android: App-Verknüpfung - Unterstützung nur bestimmte Pfade?

<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> 

Ich will nicht jede URL, die meine Domain hat die App zu öffnen - sie im Browser wie gewohnt öffnen. Ich möchte nur URLs, die den bestimmten Teilpfad enthalten, der in der App geöffnet werden soll. Ist dieses Muster erlaubt oder ist es "alles oder nichts" für die App-Verknüpfung?

Link zu den Entwickler-Dokumentation: http://developer.android.com/training/app-links/index.html

Antwort

4

Sie können spezielle Pfade haben, aber Sie können nicht/sollten sie nicht an den Host angehängt haben.

Sie sollten

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

haben und von dort aus können Sie die Android verwenden: Pfad android: pathPattern oder android: PATHPREFIX spezielles Muster zu erstellen.

Zum Beispiel

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

würde nur die URL fangen "https://www.google.com/en/index.html"