我找不到一个API,允许我点击用户在Android设备上设置的密码/图钉/模式,以便在我的应用中进行身份验证。
我可以使用指纹验证API来要求Android对用户进行身份验证,但没有密码API可以使用密码/引脚/模式而不是指纹。
有没有办法让Android根据用户已经设置的密码/图钉/模式在我的应用中进行身份验证?
答案 0 :(得分:7)
如果您问“如何让系统重新验证用户身份?”,则在Android 5.0及更高版本上,此类内容应该有效:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
if (km.isKeyguardSecure()) {
Intent authIntent = km.createConfirmDeviceCredentialIntent(getString(R.string.dialog_title_auth), getString(R.string.dialog_msg_auth));
startActivityForResult(authIntent, INTENT_AUTHENTICATE);
}
}
您可以在the andOTP project中看到正在使用的代码(略有修改)。
如果您问“如何获取用户自己的密码/图钉/图案?”,则无法做到这一点。
使用此选项可查看用户是否已成功通过身份验证:
// call back when password is correct
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == INTENT_AUTHENTICATE) {
if (resultCode == RESULT_OK) {
//do something you want when pass the security
}
}
}