android - 使用 setTosAndPrivacyPolicyUrls 的 Firebase 身份验证不提供可点击的链接
问题描述
我正在使用我能找到的最新实现来遵循firebase 自己的说明
implementation 'com.facebook.android:facebook-login:12.0.1'
implementation 'com.facebook.android:facebook-android-sdk:12.0.1'
implementation 'com.firebaseui:firebase-ui-auth:7.2.0'
我有一个自定义布局,包括:
<TextView
android:id="@+id/terms_and_conditions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="all"
android:fontFamily="@font/omnes_light"
android:gravity="center"
android:linksClickable="true"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingBottom="20dp"
android:textSize="16dp"
android:text="@string/terms_and_conditions_login"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
我也试过交替进出这些线
android:linksClickable="true"
android:text="@string/terms_and_conditions_login"
并取出工具:文本行
字符串在哪里
<string name="terms_and_conditions_login">By continuing, you are indicating that you accept\nour <a href="https://www.mycompany.com/terms-conditions/">Terms of Service</a> and <a href="https://www.mycompany.com/privacy-policy/">Privacy Policy</a>.</string>
然后在我的代码中
private fun login() {
val selectedProviders = mutableListOf<AuthUI.IdpConfig>()
selectedProviders.add(AuthUI.IdpConfig.GoogleBuilder().build())
selectedProviders.add(AuthUI.IdpConfig.FacebookBuilder().build())
selectedProviders.add(AuthUI.IdpConfig.EmailBuilder().build())
val customLayout = AuthMethodPickerLayout
.Builder(R.layout.activity_login_init)
.setGoogleButtonId(R.id.google_button)
.setFacebookButtonId(R.id.facebook_button)
.setEmailButtonId(R.id.email_button)
.setTosAndPrivacyPolicyId(R.id.terms_and_conditions)
.build()
val authUi = AuthUI.getInstance().createSignInIntentBuilder()
.setAuthMethodPickerLayout(customLayout)
.setAvailableProviders(selectedProviders)
.setTheme(R.style.AppTheme_NoActionBar)
.setIsSmartLockEnabled(false)
.enableAnonymousUsersAutoUpgrade()
.setTosAndPrivacyPolicyUrls("https://www.mycompany.com/terms-conditions/", "https://www.mycompany.com/privacy-policy/")
.build()
signInLauncher.launch(authUi)
}
所以:按钮工作正常,但服务条款底部的文本显示的文本只有蓝色的“隐私政策”字样,没有一个可点击。此外,正如我在进入 Google 登录时在这个问题中所指出的,两个链接都给出错误“没有找到打开此链接的浏览器”
在 facebook 登录中,一个链接有效,一个无效(条款和条件无效)。在电子邮件登录中,两者都可以正常工作。显然,我已经检查了链接,它们在所有正常情况下都很好。
有谁知道如何让它正常工作?
解决方案
推荐阅读
- python - 我需要用多线程的 API 调用结果填充一个列表
- jquery - 将 Jquery 中的提示变量传递给 Flask
- python - dtype 为 str 的 numpy 数组不能与自身求和?
- jquery - jquery 对象在第二个`.forEach()` 中返回未定义
- node.js - 无法实现返回值的承诺 - NodeJS
- performance - Julia 类型不稳定性:LinearInterpolations 数组
- java - JPQL 查询返回自定义 DTO,来自父实体及其嵌套/子实体,带有 NULLABLE NESTED ENTITY
- unit-testing - ResultFilterAttribute 单元测试没有看到更改的结果
- multithreading - 为什么使用原子时需要加载
- ios - iOS离线时超时(使用waitsForConnectivity)