Нет автоматического входа с помощью 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, но не через автозаполнение.
Есть идеи по этому поводу?