Skip to content Skip to sidebar Skip to footer

Use System Passcode For Authentication

I cannot find an API that will allow me to tap into the password/pin/pattern the user has set up on an Android device for authentication in my app. There is a Fingerprint Authentic

Solution 1:

If you are asking "how can I ask the system to re-authenticate the user?", on Android 5.0+, something like this should work:

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);
    }
}

You can see that code in use (with slight modifications) in the andOTP project.

If you are asking "how can I get the user's password/pin/pattern for my own use?", that is not possible.

Use this to see if the user successfully authenticated:

// call back when password is correct  @OverrideprotectedvoidonActivityResult(int requestCode, int resultCode, Intent data) {  
    if (requestCode == INTENT_AUTHENTICATE) {  
        if (resultCode == RESULT_OK) {  
            //do something you want when pass the security  
        }  
    }  
}

Post a Comment for "Use System Passcode For Authentication"