Android应用无法通过传入链接启动

时间:2017-09-15 07:36:24

标签: android android-intent intentfilter

我遵循了Deep Links to App Content的教程。

然而我的应用无法拦截链接。该应用无法启动。

以下是我的Android清单的一部分:

<activity android:name=".MainActivity">
        <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.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
            <data android:scheme="http"
                  android:host="www.example.com"
                  android:pathPrefix="/gizmos" />
            <!-- note that the leading "/" is required for pathPrefix-->
        </intent-filter>

    </activity>

这是我放在我的网络服务器上的测试页面index.html。

<a id="applink1" href="http://www.example.com/gizmos/sss">    
Open Application</a>    

我已经尝试了几个小时但仍然无法弄清楚它为什么不起作用。

PS:

如果我将方案改为一些随机的东西,它会起作用 但是我想拦截http链接。

我也试过改变动作,类别,数据的顺序,这没什么区别。

1 个答案:

答案 0 :(得分:1)

除Android部分外,您还需要验证是否确实允许您在提供URL的Web服务器上拦截给定URL的链接。为此,您需要创建JSON文件并将其上传到指定的网址(在.well-known/assetlinks.json下),其中包含有关您应用的验证信息,从而有效地允许您的应用拦截链接。

有关详细信息,请参阅https://developer.android.com/training/app-links/verify-site-associations.html