如何在您自己的Android应用程序中实现主锁屏锁定?

时间:2017-10-01 12:40:31

标签: android lockscreen

我们应该如何在我的Android应用中实现主锁屏锁,就像在Google Tez中使用的那样,PFA图像。enter image description here

1 个答案:

答案 0 :(得分:4)

Android有一种称为KeyGuard的东西。 Keyguard基本上是指处理手机解锁的代码。它最初是为带有键盘的手机开发的。

Tez,Paytm等使用Android提供的Keyguard API来保护应用。

您可以按照以下步骤实现此目的:

  1. Android提供KeyguardManager来实施身份验证。

    KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
    
  2. 创建请求身份验证的意图。

    Intent screenLockIntent = keyguardManager.createConfirmDeviceCredentialIntent(title, description);
    

    这里,标题和描述用于在验证时向用户显示信息。此方法需要API级别21。

  3. 您可以调用startActivityForResult,无论身份验证是否成功,都会返回结果。

    startActivityForResult(screenLockIntent, LOCK_REQUEST_CODE);
    

    如果未设置锁定屏幕,则会引发异常。你必须手动处理这种情况。

  4. 检查onActivityResult

    中的结果
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
        if(LOCK_REQUEST_CODE == requestCode){
            if (resultCode == RESULT_OK) {
                //Authentication is successful
            } else {
                //Authentication failed
            }
        }
    }