我找不到允许我在我的应用程序中使用用户在 Android 设备上设置的密码/pin/模式进行身份验证的 API。
有一个指纹身份验证 API,我可以使用它来要求 Android 对用户进行身份验证,但是没有密码 API 可以代替指纹来使用密码/pin/模式。
有没有办法让 Android 根据用户已经设置的密码/pin/模式在我的应用中进行身份验证?
最佳答案
如果您问“我怎样才能让系统重新验证用户身份?”,在 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
}
}
}
关于android - 使用系统密码进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45718790/