我现在已经使用过Firebase serval时间,我知道如何正确使用它。 我相信我已经遇到了一个错误,并希望听到一个解决方案,以防你有一个。
所以 - 我使用了Firebase Google auth,它运行正常,然后我决定使用电子邮件+密码方法。 现在这是一个奇怪的部分 - 我创建了一个用户,我得到了成功的结果,但它没有保存用户 - 无法在Autherecation面板中看到它+在我退出后无法登录用户。
mLoginContainer.setVisibility(View.GONE);
mLoginProgress.setVisibility(View.VISIBLE);
mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful())
Toast.makeText(LoginActivity.this,"",Toast.LENGTH_SHORT).show();
else
Toast.makeText(LoginActivity.this,"",Toast.LENGTH_SHORT).show();
mLoginContainer.setVisibility(View.VISIBLE);
mLoginProgress.setVisibility(View.GONE);
}
});
答案 0 :(得分:0)
您需要在firebase控制台上启用电子邮件/密码。
Click here for Firebase Auth Doc
如何启用电子邮件/密码登录:
In the Firebase console, open the Auth section.
On the Sign in method tab, enable the Email/password sign-in method and click Save.
希望有所帮助
答案 1 :(得分:0)
参考此
希望您已在gradle依赖项中添加compile 'com.google.firebase:firebase-auth:9.2.1'
启用电子邮件/密码验证
对于SignUp
在您的注册活动中
//定义firebaseauth对象
私人FirebaseAuth firebaseAuth;
的onCreate
//初始化firebase auth对象 firebaseAuth = FirebaseAuth.getInstance();
//成功验证用户名和密码后[请使用以下方式调用您的注册方法]
//创建新用户
firebaseAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
//checking if success
if(task.isSuccessful()){
//display some message here
Toast.makeText(this,"Successfully registered",Toast.LENGTH_LONG).show();
}else{
//display some message here
Toast.makeText(this,"Registration Error",Toast.LENGTH_LONG).show();
}
progressDialog.dismiss();
}
});
对于SignIn
mAuth.signInWithEmailAndPassword(strUsrL,strPassL)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressBar.setVisibility(View.GONE);
if(task.isSuccessful()){
Toast.makeText(this, "Successfully Login", Toast.LENGTH_SHORT).show();
}
}})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(this, e.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
Log.e("EXCEPTION",e.getLocalizedMessage().toString());
}
});
答案 2 :(得分:0)
在模拟器中重新安装应用程序并尝试提供带有 Play 商店安装的模拟器