用户数据配置
本指南介绍如何保存、更新和管理用户在 Web 表单中输入的数据,例如名字、地址、电子邮件等。
概述
Chromium 内置了一项功能,可以记住用户在 Web 表单中输入的数据。当用户提交包含这些数据的 Web 表单时,库会询问是否要将这些数据保存到用户数据存储中。
如果你选择保存,那么下次再次加载该表单时,库会建议自动填充这些数据。

在此情况下,必须启用 Web 表单自动填充功能。
要访问和管理所有已保存的用户数据,请使用 UserDataProfiles:
Java
Kotlin
var userDataProfiles = profile.userDataProfiles();
val userDataProfiles = profile.userDataProfiles()
保存用户数据
当用户提交包含已更新用户数据的 Web 表单时,库会通过 SaveUserDataProfileCallback 询问你是否要在用户数据存储中更新这些数据。例如:
Java
Kotlin
browser.set(SaveUserDataProfileCallback.class, (params, tell) -> tell.save());
browser.register(SaveUserDataProfileCallback { params, tell ->
tell.save()
})
如果你选择保存,那么这些用户数据将被添加到用户数据存储中。下次当你向表单中输入相同的用户数据时,该回调将不会再被触发。
如果你选择拒绝保存,这些用户数据将不会被添加到存储中;下次当你再次输入完全相同的用户数据时,该回调将会再次被触发。
更新用户数据
当用户提交包含已更新用户数据的 Web 表单时,库会通过 UpdateUserDataProfileCallback 询问你是否要在用户数据存储中更新这些数据。在该回调中,你可以选择更新或拒绝更新 UserDataProfiles 中的用户数据。例如:
Java
Kotlin
browser.set(UpdateUserDataProfileCallback.class, (params, tell) -> tell.update());
browser.register(UpdateUserDataProfileCallback { params, tell ->
tell.update()
})
管理用户数据
用户数据存储中的每一条记录都由一个单独的 UserDataProfile 对象表示。它包含城市、州/省、街道、邮政编码、电子邮件地址、全名等信息。
要读取所有记录,请使用:
Java
Kotlin
userDataProfiles.all().forEach(userDataProfile -> {
var email = userDataProfile.email();
var city = userDataProfile.address().city();
});
userDataProfiles.all().forEach { userDataProfile ->
val email = userDataProfile.email()
val city = userDataProfile.address().city()
}
要从存储中删除任意记录,请使用:
Java
Kotlin
userDataProfiles.remove(userDataProfile);
userDataProfiles.remove(userDataProfile)
要清空整个用户数据存储,请使用:
Java
Kotlin
userDataProfiles.clear();
userDataProfiles.clear()

