Firebase 上出现空指针异常,以检查是否已验证电子邮件



我想检查注册到我的应用程序的邮件是否经过验证。所以我实现了一个登录按钮来做到这一点。但是当我单击此按钮时,当时在 android 工作室和应用程序上捕获的空指针异常崩溃了。

Attempt to invoke virtual method 'boolean 
com.google.firebase.auth.FirebaseUser.isEmailVerified()' on a null object 
reference

我的代码片段是

mAuth=FirebaseAuth.getInstance();
user=mAuth.getCurrentUser();
sign.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (user.isEmailVerified()){
signin();
}
else {
startActivity(new 
Intent(SignInActivity.this,MailVerify.class));
}
}
});

任何人请帮助我解决这个问题。

如果没有用户唱歌,mAuth.getCurrentUser();返回null

将您的if对账单更新为:

if (user != null && user.isEmailVerified()){

你必须使用

firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
})
.onSuccessListener(new On.....);

在成功登录时,即在 onSuccessListener 中使用 mAuth 上的 getCurrentUser(( 方法来防止 .isEmailVerified(( 将工作的空点异常。

有关更多参考,请参阅:https://firebase.google.com/docs/auth/web/password-auth

最新更新