我想检查注册到我的应用程序的邮件是否经过验证。所以我实现了一个登录按钮来做到这一点。但是当我单击此按钮时,当时在 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