E-post registrerte brukere display vises ikke etter første innlogging

stemmer
0

Når en bruker logger på for første gang får han en velkomstskjermen der han skriver inn et brukernavn. Etter å ha klikket på en knapp han kommer til MainActivity hvor i NavigationDrawer bør være hans skapte brukernavn. Problemet er at brukernavnet ikke vises før han logger ut og inn igjen. Jeg vet at dette har vært en feil i Fire Android SDK v9.8.0 men dette bør være løst nå rett? Er det noe galt med min kode eller er det fortsatt en bug? Her er spørsmålet jeg henviser til: display viser null etter å lage bruker med Fire Auth

Her er en aktivitet der brukeren oppretter et brukernavn og i utgangspunktet overskriver Null brukernavn:


...

firstScreenButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

                String usernameInput = username.getText().toString();

                String currentUserName =user.getDisplayName();

                ...

                // When the user typed in a username he gets to the MainActivity
                } else {
                    createUsername();
                    saveUsername();
                    Intent intent = new Intent (CreateUsername.this, MainActivity.class);
                    startActivity(intent);
                    Toast.makeText(CreateUsername.this, Welcome + currentUserName, Toast.LENGTH_SHORT).show();
                    finish();
                    }
            }
        });

    }
// Here I save the typed in username to to firestore
public void saveUsername (){

        FirebaseUser userMail = FirebaseAuth.getInstance().getCurrentUser();

        String email = userMail.getEmail();

        String newUser = username.getText().toString();

        String userID = FirebaseAuth.getInstance().getCurrentUser().getUid();

        Map<String, Object> user = new HashMap<>();
        user.put(KEY_USERNAME, newUser);

         ...
// Creates a new username for the new user, which is displayed in the menu but only when the user closes and opens the app again

    // TODO: 2019-10-08 Fix the method so the username is displayed right after creating it

    public void createUsername (){

        FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

        String usernameInput = username.getText().toString();

        UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
                .setDisplayName(usernameInput)
                .build();

        user.updateProfile(profileUpdates)
                .addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        if (task.isSuccessful()) {
                            Log.d(TAG, Success);
                        }
                    }
                });

...

Også toast meldingen som vises etter at brukeren har opprettet et brukernavn, returnerer Velkommen null slik at dette ville bety at på dette punktet brukernavn ikke er oppdatert.

Publisert på 09/10/2019 klokken 13:01
kilden bruker
På andre språk...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more