我以为我已经在我的应用程序中正确设置了 autofillHints,但最近我注意到一些奇怪的事情。登录屏幕有两个字段:电子邮件地址和密码。如果我点击密码字段,将出现自动填充提示(我使用的是 LastPass)。如果我选择一个帐户,它会填写密码,但不会填写电子邮件地址。密码字段更改了颜色以表明它使用了自动填充,但电子邮件地址字段未受影响。
过去我可以发誓它工作正常,但也许我错了。我试过设置android:importantForAutofill="yes",但这没有什么区别。我尝试emailEditText.setAutofillHints(View.AUTOFILL_HINT_EMAIL_ADDRESS)在代码中而不是android:autofillHints="emailAddress"在 XML 中进行设置,但这并没有改变它。
我应该能够点击电子邮件或密码字段并显示自动填充提示。两个字段都应更改颜色。两个字段都应填写。
有趣的是,如果我android:autofillHints将电子邮件字段的属性更改为password,它确实会填写。当然,密码不是电子邮件。但至少自动填充服务正在做一些事情。
我完全迷失了,直到我偶然发现:
您可能会遇到的一个问题是,并非所有自动填充服务都能够填充相同类型的内容。虽然 Google 的自动填充服务可以填写凭据、地址、电话号码、信用卡信息等,但 Dashlane 仅支持凭据(在撰写本文时)。来自https://medium.com/@bherbst/getting-androids-autofill-to-work-for-you-21435debea1
这让我思考。也许 LastPass 没有设置为填写所有字段。也许它将电子邮件地址视为通用表单字段(如电话号码)而不是登录的一部分。也许它正在期待别的东西。
我再次查看了提示的类型。这次我试过了android:autofillHints="username",效果很好。对于登录字段,username是正确的提示类型,而不是emailAddress,即使它是电子邮件地址。
希望这能让其他人免于我为了解决这个问题而遇到的麻烦!
| 归档时间: |
|
| 查看次数: |
1349 次 |
| 最近记录: |