Biometric
Biometric让用户不必每次打开APP时都记住帐户用户名和密码,只需使用生物识别来确认并授权访问。
BiometricManager.from(this).canAuthenticate():取得目前系统生物识别状态。
BiometricPrompt.PromptInfo.Builder():创建生物识别资讯。
BiometricPrompt("要显示的Fragment", "在主线程执行", "生物识别回调").authenticate("BiometricPrompt.PromptInfo"):设置生物识别资讯,并取得回调资讯。
dependencies {
implementation 'androidx.biometric:biometric:1.0.1'
}
判断手机系统的生物识别
val biometricManager = BiometricManager.from(this)
when (biometricManager.canAuthenticate()) {
BiometricManager.BIOMETRIC_SUCCESS ->
Log.e("GOGO", "可以使用")
BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE ->
Log.e("GOGO", "硬体不支持此功能")
BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE ->
Log.e("GOGO", "目前无法使用")
BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED ->
Log.e("GOGO", "没有设置")
}
调用生物识别
//设置参数
val info = BiometricPrompt.PromptInfo.Builder()
.setTitle("标题")
.setSubtitle("副标题")
.setNegativeButtonText("取消")
.build()
//设置回调
BiometricPrompt(this, ContextCompat.getMainExecutor(this),
object : BiometricPrompt.AuthenticationCallback() {
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
super.onAuthenticationError(errorCode, errString)
Log.d("GOGO", errString.toString())
}
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
super.onAuthenticationSucceeded(result)
Log.d("GOGO", "成功")
}
override fun onAuthenticationFailed() {
super.onAuthenticationFailed()
Log.d("GOGO", "失败")
}
}).authenticate(info)
<<: [Day 28] - 手把手跨出第一步!– (1)烧录闪烁程序到Arduino Part.1
>>: Day 28 -『破釜沉舟的转职路 - 去年说要成为软件工程师的我,今年 38 岁了,我成为工程师了吗?』-- 第一天上班就想好离职的那一天是什麽时候?
无限循环画中画 教学原文参考:无限循环画中画 这篇文章会介绍,如何在 Scratch 3 里使用角色...
Redux 官网 在还没有加入Redux之前,资料在APP中各个view的传递会需要翻山越岭,经过一...
Traces - 观察应用程序的效能瓶颈 系列文章 (1/6) - Elastic APM 基本介绍...
多媒体标签可以很方便的在页面中嵌入音频和视频,而不用去使用flash和其他浏览器的插件,多媒体标签主...
什麽是 TCP/IP? 早期网路刚开始萌芽时, 由於不同公司的硬体产品开发的网路技术, 彼此的连网技...