使用系统密码进行身份验证
问题描述:
我无法找到一个API,让我进军密码/ pin /图形用户已经建立了我的应用程序认证的Android设备上。使用系统密码进行身份验证
有一个指纹识别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。
如果你问“我如何才能获得用户的密码/ pin /模式为我所用?”,这是不可能的。
使用此功能查看用户是否成功通过身份验证:
// 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知道用户是否成功确认了凭据,或者他们是否失败。 这是否有一个回调,让我知道,如果他们通过或失败。现在看,但我没有看到回调看到结果。 –
看起来这个帖子回答了这个问题。现在检查出来。 https://stackoverflow.com/questions/39202487/can-app-use-android-security-mechanism-pin-code-pattern-password –
没错。这样可行。我会用回调更新您的答案,并将其标记为正确答案。感谢您的帮助!! –