我正在使用" FirebaseAuth"在Android中。通过使用" signInWithEmailAndPassword"我登录firebase。然后我想从数据库中检索数据。 我能登录但是如果我运行" FirebaseAuth.getInstance()。getCurrentUser()"这段代码它返回null。 如果你建议任何解决方案,我感谢你。
FirebaseAuth.getInstance().signInWithEmailAndPassword("my_email08@gmail.com","qwerty123").addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressDialog.dismiss();
Toast.makeText(LiveVieoWatch.this, "signInWithEmailAndPassword Complete", Toast.LENGTH_SHORT).show();
if(FirebaseAuth.getInstance().getCurrentUser() == null) {
// startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder().build(),
// SIGN_IN_REQUEST_CODE);
Toast.makeText(LiveVieoWatch.this, "Not Login", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(LiveVieoWatch.this," Login " + FirebaseAuth.getInstance().getCurrentUser().getDisplayName(),
Toast.LENGTH_LONG)
.show();
displayChatMessages();
}
}
});
我总是没有登录Toast。
答案 0 :(得分:0)
检查是否登录
if (auth.getCurrentUser() != null) {
startActivity(new Intent(LoginActivity.this, UploadActivity.class));
finish();
}
登录firebase。
FirebaseAuth.getInstance().signInWithEmailAndPassword("my_email08@gmail.com","qwerty123").addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressDialog.dismiss();
Toast.makeText(LiveVieoWatch.this, "signInWithEmailAndPassword Complete", Toast.LENGTH_SHORT).show();
if(!task.isSuccessful()) {
// startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder().build(),
// SIGN_IN_REQUEST_CODE);
Toast.makeText(LiveVieoWatch.this, "Not Login", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(LiveVieoWatch.this," Login " + FirebaseAuth.getInstance().getCurrentUser().getDisplayName(),
Toast.LENGTH_LONG)
.show();
displayChatMessages();
}
}
});