android - Firebase 身份验证无法正常工作,我该如何解决?
问题描述
defaultConfig{multiDexEnabled true}
implementation platform('com.google.firebase:firebase-bom:28.4.0')
implementation 'com.firebaseui:firebase-ui-auth:7.2.0'
implementation 'com.android.support:multidex:1.0.3'
gradle firebase 实现
private lateinit var et_custID:EditText
private lateinit var et_custName:EditText
private lateinit var et_custEmail:EditText
private lateinit var et_custPostAddress:EditText
private lateinit var et_custPhoneNumber:EditText
private lateinit var et_custPassword:EditText
private lateinit var btnCustRegister:Button
private lateinit var cAuth:FirebaseAuth
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_register)
et_custID=findViewById(R.id.et_custID)
et_custName=findViewById(R.id.et_custName)
et_custEmail=findViewById(R.id.et_custEmail)
et_custPostAddress=findViewById(R.id.et_custPostAddress)
et_custPhoneNumber=findViewById(R.id.et_custPhoneNumber)
et_custPassword=findViewById(R.id.et_custPassword)
btnCustRegister=findViewById(R.id.btnCustRegister)
cAuth= FirebaseAuth.getInstance()
@Suppress("DEPRECATION")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
window.insetsController?.hide(WindowInsets.Type.statusBars())
} else {
window.setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN
)
}
btnCustRegister.setOnClickListener {
val email = et_custEmail.text.toString()
val password = et_custPassword.text.toString()
register(email,password)
}
}
private fun register(email:String,password:String){
//Register the user in the database
cAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
// Sign in success, update UI with the signed-in user's information
val intent = Intent(this, CustLoginActivity::class.java)
startActivity(intent)
} else {
// If sign in fails, display a message to the user.
Toast.makeText(this, "Some error occurred", Toast.LENGTH_SHORT).show()
}
}
}
我没有错误消息显示(非错误列表并且可以运行程序),但是当我已经使用电子邮件 xxxx@gmail.com 和密码 abcde 键入时,会触发 toast。而且 firebase 部分也不会创建新的身份验证。
解决方案
现在我知道错误原因是什么了......所需密码的错误原因必须是包含数字小写字母和大写字母的字符串,例如“abc123ABC”
推荐阅读
- flutter - 如何将 TextStyle 和 textTheme 应用到 Flutter 中的 Text 小部件?
- python - 如何在 python 中从 pandas 数据框加载 Weka 数据集
- azure - 为已经可用的 REST API 创建一个交互点
- android - 使用“EAN_13,EAN_8,UPC_A,UPC_E”android 扫描时面临问题
- excel - 如何避免在我的工作簿中使用 activechart
- javascript - 有没有办法在同一页面上使用反应网络摄像头,一个用于前置摄像头,另一个用于后置摄像头?
- reactjs - 将 GoDaddy 域名添加到 Surge
- regex - 如何匹配 'a' 或 '^'
- laravel - 为什么当我想 php artisan db:seed 时我不能 db:seed
- php - 使用 DOMDocument 将多个 HTML 正文保存为一个