Нет автоматического входа с помощью Smart Lock для паролей и автозаполнения

Я использую Smart Lock для паролей на Android", чтобы автоматически войти в систему, когда пользователь ранее использовал приложение. Или, по крайней мере, получить диалоговое окно для выбора между последними использованными учетными записями.

Раньше это работало просто отлично, но с Android Oreo и платформой автозаполнения я больше не получаю авто-логин.

Кроме того, в диалоге "выберите учетную запись" из SmartLock (который показывает, что в Smart Lock или вызове хранится несколько учетных записей) Auth.CredentialsApi.disableAutoSignIn()) учетные данные не будут отображаться при сохранении с использованием автозаполнения.


Я знаю, что автозаполнение отменяет диалог "сохранить в Smart Lock", когда пользователь вводит свои учетные данные (пока мы не запустим диалоговое окно сохранения Smart Lock), и кажется, что это предполагаемое поведение:

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

И это было бы хорошо, потому что:

Обратите внимание, что учетные данные, сохраненные с помощью функции автозаполнения в Google, совместно используются Smart Lock для паролей.

Но, как уже упоминалось, это не работает. Учетные данные, сохраненные с помощью автозаполнения, недоступны для SmartLock, поэтому автоматическая подпись не работает.


Я играл и использовал forceEnableSaveDialog() а также android:importantForAutofill позволить Smart Lock сохранять учетные данные вместо автозаполнения и тада: Autologin работает, и учетные данные отображаются в диалоге "выберите учетную запись".

После сохранения с помощью Smart Lock учетные данные также доступны для автозаполнения при повторном включении, как это должно работать в первую очередь.


Так что кажется, что "двунаправленный обмен" для меня сломан. Учетные данные передаются при сохранении с помощью Smart Lock, но не через автозаполнение.

Есть идеи по этому поводу?

0 ответов

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