如何在 Android 中启用深层链接?

How do I enable deep-linking in Android?

link"ypcc://test" 和“http://ypcc.nl/test”均无效。 它应该打开应用程序。现在 ypcc://test 打开 play 商店。

在我的 androidManifest 中:

<activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />

        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <!-- Accepts URIs that begin with "recipe-app://recipes" -->
            <data android:scheme="ypcc"
                android:host="test" />

        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <!-- Accepts URIs that begin with "recipe-app://recipes" -->
            <data android:scheme="http"
                android:host="ypcc.nl"
                android:pathPrefix="/test"/>

        </intent-filter>

    </activity>

有人知道我错过了什么吗?

这是一个深度 link 扫描应用程序。它给了我这个信息。

要使 http 和 https 解析 URL 正常工作,您需要使用 Marshmallow。不过,自定义方案适用于较早的设备。此外,它是 path,而不是 pathPrefix

<activity
    android:name=".MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />

    </intent-filter>

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
        <!-- Accepts URIs that begin with "ypcc://test" -->
        <data android:scheme="ypcc"
            android:host="test" />

    </intent-filter>

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with "http://ypcc.nl/test" -->
        <data android:scheme="http"
            android:host="ypcc.nl"
            android:path="/test"/>

    </intent-filter>

</activity>

如果您想成为 link 的唯一处理程序,您可能需要将 <intent-filter android:autoVerify="true"> 添加到意图过滤器,但您还需要添加 json文件到服务器。

Handling App Links - Google Docs