Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Firebase用户getToken在注销后生成NullPointerException_Java_Android_Firebase_Firebase Authentication_Firebaseui - Fatal编程技术网

Java Firebase用户getToken在注销后生成NullPointerException

Java 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

在我的应用程序中,当用户注销时,它应该向服务器发送一个请求,指示用户已注销并清理服务器端的内容

在用户成功从Firebase注销后发送它是有意义的。我使用的Firebase UI具有注销功能,它返回一个任务对象,可用于检查用户是否成功注销,如果成功则发送请求

但是,当我尝试使用getToken()为请求生成令牌时,尽管FirebaseUser对象不是null,它还是会给我NullPointerException

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)