Firebase - как получить метод входа в систему [дубликат]

Единственными двумя решениями, которые я видел для этой проблемы, являются:

  1. Запускать запросы в качестве фоновых заданий и накладывать на них таймер, а затем останавливать / удалять задания, выполняющиеся слишком долго.
  2. Исправьте серверы.
0
задан AL. 26 March 2018 в 10:31
поделиться

1 ответ

Используйте FirebaseUser.getProviderData () . Он возвращает список UserInfo , каждый из которых содержит строку ID провайдера.

Например:

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

    List<? extends UserInfo> infos = user.getProviderData();
    for (UserInfo ui : infos) {
        if (ui.getProviderId().equals(GoogleAuthProvider.PROVIDER_ID)) {
            return true;
        }
    }
2
ответ дан Bob Snyder 17 August 2018 в 13:02
поделиться
  • 1
    Я предполагаю, что это заменит его. я изменю вызов getProviderId вместо getProvider. но в этом случае используются два метода: getProvider () и getProviderId (). вот почему я запутался. но спасибо за ответ. – j2emanue 26 March 2018 в 15:53
  • 2
    Хотя getProviders() является общедоступным методом в SDK до 12.0.0, я не помню, чтобы его когда-либо видели в документации, а поиск в Интернете не нашел многого. Возможно, он не был частью API и был удален с 12.0.0 без фазы устаревания. – Bob Snyder 26 March 2018 в 16:11
  • 3
    getProviderId() всегда возвращает "firebase" для google, facebook и т. д., которые я пробовал. Таким образом, использование getProviderData().get(0).getProviderId() похоже на рабочий путь. – Ugurcan Yildirim 10 April 2018 в 21:49
Другие вопросы по тегам:

Похожие вопросы: