Java Firebase用户getToken在注销后生成NullPointerException
在我的应用程序中,当用户注销时,它应该向服务器发送一个请求,指示用户已注销并清理服务器端的内容 在用户成功从Firebase注销后发送它是有意义的。我使用的Firebase UI具有注销功能,它返回一个任务对象,可用于检查用户是否成功注销,如果成功则发送请求 但是,当我尝试使用getToken()为请求生成令牌时,尽管FirebaseUser对象不是null,它还是会给我NullPointerExceptionJava Firebase用户getToken在注销后生成NullPointerException,java,android,firebase,firebase-authentication,firebaseui,Java,Android,Firebase,Firebase Authentication,Firebaseui,在我的应用程序中,当用户注销时,它应该向服务器发送一个请求,指示用户已注销并清理服务器端的内容 在用户成功从Firebase注销后发送它是有意义的。我使用的Firebase UI具有注销功能,它返回一个任务对象,可用于检查用户是否成功注销,如果成功则发送请求 但是,当我尝试使用getToken()为请求生成令牌时,尽管FirebaseUser对象不是null,它还是会给我NullPointerException public void signOut(View v) { AuthUI.g
public void signOut(View v) {
AuthUI.getInstance()
.signOut(this)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
serverCleanUp(); // make sure the user sign out successfully before sending to server
} else {
// handle error...
}
}
});
}
public void serverCleanUp() {
// mUser is the user object saved when signed in
if (mUser != null) {
mUser.getToken(true) // give me NullPointerException in this line
.addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
public void onComplete(@NonNull Task<GetTokenResult> task) {
// send request if success, handle error otherwise...
}
});
}
}
发布异常的堆栈跟踪。可能重复
java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.internal.zzbmn com.google.firebase.auth.FirebaseUser.zzVI()' on a null object reference
at com.google.firebase.auth.FirebaseAuth.zza(Unknown Source)
at com.google.firebase.auth.FirebaseUser.getToken(Unknown Source)
at com.example.user.myapp.MainActivity.serverCleanUp(MainActivity.java:232)
at com.example.user.myapp.MainActivity.access$500(MainActivity.java:36)
at com.example.user.myapp.MainActivity$5.onComplete(MainActivity.java:219)
at com.google.android.gms.tasks.zzc$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)