我有一个应用程序,该应用程序使用应用程序链接在应用程序外部的浏览器中登录,并在登录完成后被重定向回。 这在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))
答案 0 :(得分:0)
由于您的深层链接网址类似于网站,因此“ Chrome自定义标签”将始终尝试将其加载为网页,而不是重定向。您所能做的就是使用app-name://
这样的浏览器通常不支持的方案,那么您的主机可能是redirect-to
,所以可以显示为
<data
android:host="redirect-to"
android:scheme="app-name" />
这样,只有您的应用才可以解析该网址。但是请注意,当您使用这种类型的网址时,它可能不会在某些应用程序(例如电子邮件)中显示为链接。