首页 > 解决方案 > 来自主机的导航控制器 uri 和深度链接方案

问题描述

我有完美的 oauth 重定向意图过滤器

<data
android:host="${host}"
android:scheme="${scheme}" />

其中主机和方案在 app gradle 中设置为 manifestPlaceholders:

manifestPlaceholders = [host: "goodreads", scheme: "oauth"]

所以我的活动收到了 oauth 重定向。

现在我将我的应用程序导航移动到新的方便导航控制器,但我无法解决如何正确将主机和方案转换为深度链接 uri。我试过这个:

<deepLink
        android:id="@+id/deepLink"
        app:uri="oauth://goodreads" />

对于接收片段。

而不是导航控制器的活动主机中的意图过滤器,我插入了这个:

<nav-graph android:value="@navigation/nav_graph" />

现在我

但这没有用。任何帮助或建议将不胜感激。

我还尝试解压缩生成的 apk 以查看生成的意图过滤器,它看起来像这样:

<data android:scheme="oauth"/>
<data android:host="goodreads"/>
<data android:path="/"/>

我怎样才能生成正确的uri?

upd:我的整个 nav_graph 看起来像这样:https ://gist.github.com/intmainreturn00/0e4c4121c2cd952370b4838b597a5d01

和我的清单: https ://gist.github.com/intmainreturn00/e7e4ca261d38c4dfb786ba3f8de15918

标签: androidnavigationandroid-architecture-components

解决方案


推荐阅读