Android深层链接架构:匹配http和https

时间:2016-09-14 09:23:14

标签: android android-manifest deep-linking

我希望我的应用在http://www.example.comhttps://www.example.com上打开。

这有效:

            <data
                android:host="www.example.com"
                android:path="/"
                android:scheme="http"/>

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

是否有可能同时捕获两个条目?我试过了:

            <data
                android:host="www.example.com"
                android:path="/"
                android:scheme="http*"/>

但这只捕获http链接,而不是https链接。

所以我知道如何处理机器人变种,但希望尽可能使用最简洁的写作。

2 个答案:

答案 0 :(得分:17)

这似乎对我有用:

<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:scheme="https" />
    <data android:host="www.mywebsite.com" />
    <data android:pathPrefix="/mypage.php" />
</intent-filter>

答案 1 :(得分:3)

您可以对两者使用单独的<intent-filter>

<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:host="www.example.com"
            android:path="/"
            android:scheme="http"/>     
</intent-filter>
<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:host="www.example.com"
            android:path="/"
            android:scheme="https"/>     
</intent-filter>