繁体   English   中英

要求解锁模式 - Android

[英]Ask for unlock pattern - Android

有没有办法,我可以让用户使用设置模式(密码,指纹等)在手机上执行解锁操作来访问我的应用程序的某些功能?

例如,在iOS中,我基于QR码生成OTP。 在向他显示生成的OTP令牌之前,我可以询问用户解锁引脚。 我希望我的Android应用程序一样。 这可以防止滥用应用程序。

您可以使用KeyguardManager类创建该意图,使用自API 21以来可用的createConfirmDeviceCredentialIntent方法,它应该使用startActivityForResult(intent)方法从您的活动中调用。

在您的活动中:

private static final int CREDENTIALS_RESULT = 4342; //just make sure it's unique within your activity.

void checkCredentials() {
  KeyguardManager keyguardManager = this.getSystemService(Context.KEYGUARD_SERVICE);
  Intent credentialsIntent = keyguardManager.createConfirmDeviceCredentialIntent("Password required", "please enter your pattern to receive your token");
  if (credentialsIntent != null) {
    startActivityForResult(credentialsIntent, CREDENTIALS_RESULT);
  } else {
    //no password needed
    doYourThing();
  }
}

@Override
public void onActivityResult(int requestCode, int resultCode, Bundle data) {
  if (requestCode == CREDENTIALS_RESULT) {
    if(resultCode == RESULT_OK) {
      //hoorray!
      doYourThing();
    } else {
      //uh-oh
      showSomeError();
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM