Android深层连结始终先在浏览器中打开,然后才打开正确的活动

时间:2019-06-03 11:17:43

标签: android android-intent browser android-5.0-lollipop deep-linking

在Android 5.0版上,由于App链接仅从Android 6.0起开始使用,因此我们使用深层链接。我们在这些设备上遇到了一个问题:从主机应用程序启动意图时,首先在浏览器中打开链接,然后短暂延迟(2-3秒)后,即使我们选择“始终打开”,它也会启动目标应用程序在应用中”选项。我们可以做些什么直接在应用程序中直接打开链接,而无需在浏览器中短暂打开?

    <activity android:name=".deeplinking.DeepLinkingNavigationActivity">
        <intent-filter android:priority="999”>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="https"
            android:host="@string/deep_linking_host"
            android:pathPrefix="/authorize/" />
        </intent-filter>
    </activity>

1 个答案:

答案 0 :(得分:2)

实际上,您的回答正确无误-在Android 5.0版中进行深层链接的方法是通过URI方案或Intent,并且两者都需要浏览器重定向才能完成。因此,您将拥有一个已打开(并且无法避免)的中间浏览器。

请注意,不同的浏览器将需要不同的深度链接行为(URI方案,意图,甚至根本不支持深度链接)。