Текущий пользователь для выхода из Realm недопустим

#android #realm #realm-mobile-platform

#Android #realm #realm-мобильная платформа

Вопрос:

Я вызываю

 SyncUser.current().logOut()
  

но при входе в систему (с другой учетной записью) снова возникает это исключение.

java.lang.Исключение IllegalStateException: текущий пользователь недействителен, если существует более одного действительного пользователя, вошедшего в систему.

Это исключение возникает только тогда, когда я вхожу в систему с другой учетной записью, например, я вошел в систему с какой-либо учетной записью, затем выхожу из системы, а затем вхожу в систему с другой учетной записью.

Я попытался перезапустить activity, но результат тот же.

Какой правильный способ выйти из системы в Realm?

Я использую аутентификацию Google с помощью JWT.

Ответ №1:

В настоящее время это работает только после перезапуска активности

 public void logOut() {

    Map<String, SyncUser> all = SyncUser.all();

    for (Map.Entry<String, SyncUser> entry : all.entrySet()) {    
        entry.getValue().logOut();
    }

}