本页面由葡萄牙语机器翻译,可能存在错误。葡萄牙语版本为准。
生物识别
用 Biometry 以可移植的方式进行指纹/人脸认证。结果通过回调异步到达 ——
请用 onUI(...) 分派到 UI。
用法
if (!Biometry.isAvailable()) {
loginPorSenha(); // 无生物识别时的回退
return;
}
Biometry.authenticate(
"Confirme sua identidade", // reason(展示给用户)
"Cancelar", // 取消按钮的文本
false, // onlyBiometric: false = 允许系统 PIN 作为回退
(resultado, mensagem) -> Component.onUI(() -> {
switch (resultado) {
case SUCCESS: abrirAreaSegura(); break;
case FAILURE: Hint.show("Não reconhecido", 2000); break;
case CANCELLED: /* 用户放弃了 */ break;
case ERROR: Hint.show("Erro: " + mensagem, 2000); loginPorSenha(); break;
}
})
);
API
| 成员 | 签名 |
|---|---|
Biometry.isAvailable() |
static boolean —— 是否存在已注册的硬件/生物识别? |
Biometry.authenticate(...) |
static void (String reason, String cancel, boolean onlyBiometric, Callback) |
Callback.onResult(...) |
(AuthResult result, String message) |
AuthResult |
SUCCESS · FAILURE · CANCELLED · ERROR |
onlyBiometric = true要求生物识别(不会回退到系统 PIN/密码);false允许 操作系统的回退方式。
安全性
- 生物识别数据绝不会离开设备 —— 应用只收到
SUCCESS/FAILURE等结果, 永远拿不到指纹/人脸本身。 - 始终提供应用级的回退方式(登录/密码),用于
ERROR以及isAvailable()为false的情况。
常见错误
- 只处理
SUCCESS而忽略CANCELLED/ERROR(用户被卡住)。 - 在回调中直接操作 UI —— 它不在绘制线程上;请用
onUI(...)。 - 在没有生物识别时没有备选路径。
另见
这个页面有帮助吗?感谢你的反馈!