首页 > 解决方案 > 如何从 android 中的 keyguard 管理器中检索密码/pin 码

问题描述

使用 KeyguardManager 获取 PIN 码或锁屏密码很热门?

private static int CODE_AUTHENTICATION_VERIFICATION = 241;

  
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ddddd);


        KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
        if (km.isKeyguardSecure()) {

            Intent i = km.createConfirmDeviceCredentialIntent("Authentication required", "password");
            startActivityForResult(i, CODE_AUTHENTICATION_VERIFICATION);
           
        } else
            Toast.makeText(this, "No any security setup done by user(pattern or password or pin or fingerprint", Toast.LENGTH_SHORT).show();
    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK && requestCode == CODE_AUTHENTICATION_VERIFICATION) {
            Log.d("IM ", "onActivityResult: "+requestCode);
            Log.d("IM ", "onActivityResult: "+data.get);
            Log.d("IM ", "onActivityResult: "+resultCode);
            Toast.makeText(this, "Success: Verified user's identity", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "Failure: Unable to verify user's identity", Toast.LENGTH_SHORT).show();
        }
    }

标签: androidauthentication

解决方案


它是系统身份验证的一部分,您不应该能够访问代码本身,因为它会破坏它的安全目的......如果输入的代码正确与否,您只会得到一个布尔值。获取代码本身正在进入键盘记录器领域。


推荐阅读