如何绕过'滑动解锁'屏幕

时间:2017-06-21 12:21:09

标签: android fingerprint lockscreen

我正在实施自定义'滑动解锁'屏幕。

如果'屏幕锁定'在设置中“刷卡”,我的应用正常运行。 在我的自定义'滑动解锁'屏幕 - >用户滑动即可解锁 - >它通过在我的活动中添加以下代码来解锁手机并直接进入主屏幕:

activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);

当屏幕锁定时会出现问题。在设置中是' PIN',上面的代码不会影响。我期望它会绕过默认'滑动解锁'屏幕并转到PIN输入'屏幕,因此用户无需刷两次即可输入PIN码。

更新

似乎我们无法避免默认'滑动解锁'屏幕,所以我尝试使用另一种使用指纹的方法。

@Override public void onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result) { mCallback.onAuthenticated(); }

目前,我必须触摸传感器两次,首先关闭我的锁定屏幕,然后触摸默认锁定屏幕。只需轻轻一按,next app即可关闭2个锁定屏幕,因此我认为可以这样做。

如果您有任何建议,请告诉我。非常感谢。

1 个答案:

答案 0 :(得分:2)

不需要听指纹,只需在设备解锁时注册并关闭锁屏:

void registerUnlockReceiver() {
    IntentFilter i = new IntentFilter(Intent.ACTION_USER_PRESENT);
    registerReceiver(mUserUnlockedReceiver , i);
}

BroadcastReceiver mUserUnlockedReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        unlockAndExit(false);
    }
};