使用 URL 结尾的深度链接

Deep linking using end of URL

我已经深入 link 工作,但我 运行 遇到的问题是,根据 URL 中的最后一个元素,我必须重定向用户访问应用程序的不同部分。

所以现在我正在使用“http://www.mypage.com/us/en/order.html", but we're in multiple countries so it could also be "http://www.mypage.co.uk/uk/en/order.html”。

我要做的是捕获最后一个元素 (order.html) 并使用它深入 link。

下面是我目前拥有的,但它捕获了所有浏览器 activity

<activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:taskAffinity="com.mypage.app"
            android:theme="@style/AppTheme"
            android:windowSoftInputMode="adjustPan">
            <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="mypagemobileapp"/>
                <data android:scheme = "http"
                    android:host="www.mypage.com"/>
            </intent-filter>
        </activity>

查看数据元素的文档:http://developer.android.com/guide/topics/manifest/data-element.html

您可以为 url 的路径指定一个模式。在你的情况下,你应该使用类似下面的东西

<data android:scheme="http"/>
<data android:host="www.mypage.com"/>
<data android:host="www.mypage.co.uk"/>
<data android:pathPattern=".*/.*/order\.html"/>

匹配页面的所有国家/语言组合。如果您必须匹配其他页面,您可以相应地调整模式。