Недавно я интегрировал функцию Google Smart Lock для паролей в свое приложение, и почти все работает без сбоев, как и ожидалось.
Есть только одна небольшая проблема, которую я пока не смог исправить: в ResultCallback#onResult
, если status.getStatusCode() == CommonStatusCodes.RESOLUTION_REQUIRED
следующая команда приводит к представлению диалогового окна разрешения Google, в котором спрашивается, сохранять ли учетные данные через Smart Lock (см. Прикрепленное изображение) или какие учетные данные использовать, если в Smart Lock уже сохранено несколько учетных данных:
status.startResolutionForResult(getActivity(), REQUEST_CODE_READ);
Когда отображается диалоговое окно разрешения, и пользователь выполняет некоторые изменения ориентации, диалоговое окно разрешения множится, и каждое из них перекрывает другие. Как пользователь, вы сначала не видите, что существует несколько копий диалога, но если вы закроете первую (нажав «Никогда» или «Сохранить пароль»), то самое верхнее диалоговое окно исчезнет, открыв другой идентичный диалог ниже.