我们的用户不时会收到电子邮件,例如更改密码。当他们点击链接时,我希望将它们发送到我们的网站,但我们的Android应用程序会被打开。
链接,例如是https://www.ourdomain.com/change-password/{random-string}
。
我们的应用中确实启用了深层链接,但它们的配置方式如下:
<intent-filter android:label="...">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="customhost"
android:pathPrefix="/"
android:scheme="https" />
<data
android:host="www.ourdomain.com"
android:pathPrefix="/somethingelse"
android:scheme="https" />
<data
android:host="www.ourdomain.com"
android:pathPrefix="/againsomethingelse"
android:scheme="https" />
<data
android:host="someothercustomhost"
android:scheme="https" />
<data
android:host="andagainacustomhost"
android:scheme="https" />
</intent-filter>
所以change-password
部分不适合任何配置,但是我们的应用程序可能会被打开的原因是什么?
修改
似乎问题是第一个data
- 标签;如果我发表评论,它的行为与预期一致(即应用程序不处理https://www.ourdomain.com/change-password/1234
)。我不知道为什么customhost
与www.ourdomain.com
...
答案 0 :(得分:2)
您可以尝试将其分隔为不同的this.routes = (...);
组件,因为一个<intent-filter>
应用程序可能会混淆,即使它被正确写入。
<intent-filter>