Android firebaseauth.getCurrentUser () возвращает null в firebase

Я пытаюсь получить значение 'getUid' из firebase для уже существующего пользователя в базе данных firebase. Не работает, когда,

  • Приложение удаляется и снова устанавливается заново, а при входе в систему используя уже зарегистрированные учетные данные пользователя

Работает, когда,

  • Зарегистрировался как новый пользователь и авторизовался без удаление приложения.

Выдает ошибку, говоря, что getCurrentUser имеет значение null. Ниже мой код,

 private FirebaseAuth firebaseauth;
 firebaseauth = FirebaseAuth.getInstance();
 firebaseauth.getCurrentUser();
 user_id = firebaseauth.getCurrentUser().getUid();

Я хочу знать, почему getCurrentUser возвращает null для уже существующего зарегистрированного пользователя при повторной установке приложения. Любая помощь была бы замечательной. Заранее спасибо.

Описанный здесь onAuthListener может вам помочь: stackoverflow.com/a/41538113/3655491

Ivan Le Hjelmeland 23.12.2018 11:59

@IvanLeHjelmeland Это не работает, потому что первая строка в этом методе - firebaseAuth.getCurrentUser (), и она возвращает мне NULL.

Anusha 23.12.2018 12:01

Но что, если вы добавите AuthStateListener вместо того, чтобы просто читать текущего пользователя, вы получите пользователя? stackoverflow.com/q/41797358/3655491

Ivan Le Hjelmeland 23.12.2018 12:06

@IvanLeHjelmeland Он по-прежнему возвращает null

Anusha 23.12.2018 12:11

Если FirebaseAuth.getInstance().getCurrentUser() возвращает null, в настоящее время нет пользователя, выполнившего вход в соответствии с аутентификацией Firebase. Невозможно сказать, почему это так, не видя, как вы входите в систему. Я рекомендую взглянуть на как создать минимальный, полный, проверяемый пример, чтобы повысить вероятность того, что мы сможем помочь.

Frank van Puffelen 23.12.2018 16:20

Кроме того, я определенно рекомендую принять предложение Ивана и использовать слушателя состояния авторизации. Если это по-прежнему не срабатывает для ваших аутентифицированных пользователей, все равно покажите код, который вы использовали в MCVE, поскольку использование прослушивателя состояния аутентификации исключает довольно существенный (и сложный) фрагмент кода в Firebase Authentication SDK на Android. .

Frank van Puffelen 23.12.2018 16:22

@Mustafa код, добавленный OP, делает это

PradyumanDixit 24.12.2018 04:51

@Anusha, вы должны добавить свой код туда, где вы вошли в систему, как пользователь.

PradyumanDixit 24.12.2018 04:52
1
8
243
0

Другие вопросы по теме