我正在使用Firebase匿名身份验证来读取Firebase数据库中的数据 .

问题是代码不是使用 onComplete 中的 readFromFirebase 方法从Firebase一直读取数据 .

有时它是阅读,有时它会抛出错误 .

DatabaseError:此客户端无权执行此操作

我可以在日志中看到:

通知id令牌监听器有关签出事件的信息 . 通知身份验证状态监听器 . 通知1个身份验证状态监听器 . 通知身份验证状态监听器有关签出事件的信息 .

看起来像问题:

geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {


  Task<AuthResult> authResultTask = mAuth.signInAnonymously()
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {
                        // Sign in success, update UI with the signed-in user's information
                        Log.d(TAG, "signInAnonymously:success");
                        FirebaseUser user = mAuth.getCurrentUser();

                        readFromFirebase( techCategory, locLatLng);
                     } else {
                        // If sign in fails, display a message to the user.
                        Log.w(TAG, "signInAnonymously:failure", task.getException());

                    }

                }