Xamarin Forms Android自定义WebViewRenderer密码无法保存排查
需检查的内容
- 补充WebView表单数据保存设置:当前代码仅开启了
SavePassword,需额外开启Control.Settings.SaveFormData = true,表单数据的保存是自动填充密码的基础。 - 验证网页表单的
autocomplete属性:确认登录页面的用户名输入框是否设置autocomplete="username",密码输入框是否设置autocomplete="current-password",系统依赖这些属性识别登录表单,无此配置可能导致填充失败。 - 检查系统自动填充权限与设置:
- 确认应用在系统「密码与账号」→「自动填充服务」中被允许使用自动填充功能;
- 检查Google账号的密码保存服务是否处于开启状态。
- 确认WebView数据持久化目录:确保WebView有可持久化的用户数据存储路径,避免密码保存后无法写入本地。可通过配置WebView的相关存储设置或确保应用拥有读写存储权限。
- 排查自定义WebViewClient的干扰:若后续给WebView设置了自定义WebViewClient,检查是否重写了
OnReceivedHttpAuthRequest等可能影响自动填充的方法,避免这些方法阻止系统的自动填充逻辑。 - 适配Android版本差异:Android 8.0及以上版本对自动填充的要求更严格,需确保目标SDK版本适配,且未禁用相关系统服务。
- 替换过时的
SavePassword属性:该属性在高版本Android中已被标记为过时,建议依赖系统自动填充服务和网页的autocomplete属性来实现密码填充,而非仅依赖此旧配置。
内容的提问来源于stack exchange,提问作者Entretoize
相关产品推荐
相关产品推荐

