每当用户注销并尝试再次登录时,树中的所有属性都会JSON重新初始化。
这是我的代码:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
if (resultCode == RESULT_OK) {
// Sign-in succeeded, set up the UI
FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
FirebaseUserMetadata metadata =mFirebaseAuth.getCurrentUser().getMetadata();
if (metadata.getCreationTimestamp() == metadata.getLastSignInTimestamp()) {
// The user is new, show them a fancy intro screen!
User user = new User(firebaseUser.getUid(), firebaseUser.getDisplayName(), firebaseUser.getEmail());
mDatabaseReference.child(user.getId()).setValue(user);
} else {
// This is an existing user, show them a welcome back screen.
Intent intent = new Intent(MainActivity.this, HomeActivity.class);
startActivity(intent);
}
} else if (resultCode == RESULT_CANCELED) {
// Sign in was canceled by the user, finish the activity
Toast.makeText(this, "Sign in canceled", Toast.LENGTH_SHORT).show();
finish();
}
I tried to use user’s metadata but even that didn’t work.
Here is my JSON structure