ई-मेल पंजीकृत उपयोगकर्ता DISPLAYNAME पहले प्रवेश के बाद प्रदर्शित नहीं किया जाता

वोट
0

जब कोई उपयोगकर्ता पहली बार के लिए में लॉग वह जहां वह एक उपयोगकर्ता नाम में प्रकार एक स्वागत स्क्रीन करने के लिए हो जाता है। एक बटन पर क्लिक करने के बाद वह MainActivity जहां NavigationDrawer में अपनी बनाई उपयोगकर्ता नाम होना चाहिए करने के लिए हो जाता है। समस्या यह है कि उपयोगकर्ता नाम केवल प्रदर्शित किया जाता है के बाद वह बाहर लॉग करता है और फिर में है,। मुझे पता है कि इस Firebase Android SDK v9.8.0 में एक बग किया गया है, लेकिन यह अभी तक इसका समाधान किया जाना चाहिए? वहाँ कुछ मेरे कोड के साथ गलत है या यह अभी भी एक बग है? : यहाँ सवाल मैं की बात कर रहा हूँ Firebase प्रमाणीकरण के साथ उपयोगकर्ता बनाने के बाद DISPLAYNAME अशक्त दिखा

यहाँ गतिविधि जहाँ उपयोगकर्ता एक उपयोगकर्ता नाम बनाता है और मूल रूप से अशक्त उपयोगकर्ता नाम अधिलेखित कर देता है:


...

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);
                        }
                    }
                });

...

इसके अलावा जिसके बाद उपयोगकर्ता एक उपयोगकर्ता नाम बनाया प्रदर्शित किया जाता है टोस्ट संदेश, रिटर्न में आपका स्वागत है अशक्त तो यह है कि इस बिंदु पर उपयोगकर्ता नाम अद्यतन नहीं किया गया मतलब होगा।

09/10/2019 को 13:01
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            

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