gpt4 book ai didi

android - 火力地堡认证用户界面 : How to register PhoneAuthProvider OnVerificationStateChangedCallbacks

转载 作者:行者123 更新时间:2023-11-29 23:02:14 30 4
gpt4 key购买 nike

我在我的应用程序中使用 Firebase AuthUI 来使用谷歌、电话和电子邮件方法登录。身份验证成功后,我需要将数据存储在 Firestore 上。

我用于启动 Firebase Auth Screen 的代码列出了不同的提供者:

 startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setIsSmartLockEnabled(false, true)
.setLogo(R.drawable.yam_logo_orange_512)
.setAvailableProviders(Arrays.asList(
new AuthUI.IdpConfig.EmailBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build(),
new AuthUI.IdpConfig.PhoneBuilder().build()
)).build(),
RC_SIGN_IN);

但是,正如我在上面所写的那样 - 我正在使用提供默认按钮和 UI 的 AuthUI - 我没有电话号码字段的所有权,电话号码也是如此。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
String providerType = response.getProviderType();

if (resultCode == RESULT_OK) {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
switch (providerType) {
case Constants.PROVIDER_GOOGLE:
account = GoogleSignIn.getLastSignedInAccount(this);
if (account != null) {
firebaseAuthWithGoogle(account, response.isNewUser());
}
break;

case Constants.PROVIDER_PHONE:
if(null!=phoneAuthCredential){
signInWithPhoneAuthCredential(phoneAuthCredential, response.isNewUser());
}
break;

case Constants.PROVIDER_EMAIL:
break;

}
}
}
}
}

请帮我完成这个。我是否需要制作一个自定义屏幕来获取号码,然后注册 PhoneAuth 回调?

谢谢,卡纳克

最佳答案

只需制作一个自定义屏幕 (UI),这样您就拥有了所有内容,可以轻松访问文本字段,还包括一些:

if (requestCode == RC_SIGN_IN) {
println(requestCode)
//
}

这里也是:

if (user != null) {
println(user)
//
}

只是为了进一步了解您可能在哪里出错。此外,一旦您通过打印值看到错误所在,您就应该能够注册 PhoneAuth 回调。

关于android - 火力地堡认证用户界面 : How to register PhoneAuthProvider OnVerificationStateChangedCallbacks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56840468/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com