Автозаполнение Android: почему состояние клиента возвращает значение null?

Я пытаюсь создать службу автозаполнения, которая будет обрабатывать разделенные страницы входа, и я столкнулся с запутанной ошибкой. Первая часть кода выполняется просто отлично, поэтому состояние клиента должно быть установлено, но затем я получаю сообщение об ошибке «request.getClientState() не должно быть нулевым». Поскольку это служба автозаполнения, она запускается дважды, один раз на странице имени пользователя, а затем снова на странице пароля. Теория заключается в том, что при запуске 1 я обнаруживаю поле имени пользователя и сохраняю AutofillID с помощью .setClientState(), а затем при запуске 2 я получаю доступ к этому AutofillID с помощью .getClientState() на странице пароля и передаю оба в onSaveRequest(). Я не уверен, почему .getClientState() возвращает значение null

Блок кода, который выполняет:

      val clientState: Bundle = Bundle()

val responseBuilder = FillResponse.Builder()

clientState.putParcelable("usernameID", usernameID)

responseBuilder
        .setClientState(clientState)

         callback.onSuccess(
             responseBuilder
                 .build())

Блок кода, который не выполняется:

      val clientState: Bundle = request.getClientState()

Ошибка:

      java.lang.IllegalStateException: request.getClientState() must not be null

0 ответов

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