Android应用程序链接不适用于Chrome自定义标签

时间:2018-07-09 11:50:20

标签: android kotlin applinks chrome-custom-tabs

我有一个应用程序,该应用程序使用应用程序链接在应用程序外部的浏览器中登录,并在登录完成后被重定向回。 这在android本机浏览器上正常运行,但是在我使用Chrome自定义标签时失败。用户已登录自定义标签,并且未重定向回应用程序,所以我想知道是否有可能 像使用本机浏览器一样,通过自定义标签使用应用程序链接?

清单配置     

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data
    android:host="my-host"
    android:scheme="https" />

在本机浏览器中有效的实现

val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
ContextCompat.startActivity(context, intent, null)

使用Chrome自定义标签失败的重定向

val customTabsIntent = CustomTabsIntent.Builder()
    .build()

customTabsIntent.launchUrl(context, Uri.parse(url))

1 个答案:

答案 0 :(得分:0)

由于您的深层链接网址类似于网站,因此“ Chrome自定义标签”将始终尝试将其加载为网页,而不是重定向。您所能做的就是使用app-name://这样的浏览器通常不支持的方案,那么您的主机可能是redirect-to,所以可以显示为

 <data
  android:host="redirect-to"
  android:scheme="app-name" />

这样,只有您的应用才可以解析该网址。但是请注意,当您使用这种类型的网址时,它可能不会在某些应用程序(例如电子邮件)中显示为链接。