其他分享
首页 > 其他分享> > android – 如何绕过“滑动解锁”屏幕

android – 如何绕过“滑动解锁”屏幕

作者:互联网

我正在实施自定义“滑动解锁”屏幕.

如果设置中的“屏幕锁定”为“滑动”,我的应用程序可以正常工作.
在我的自定义“滑动解锁”屏幕中 – >用户滑动即可解锁 – >它通过在我的活动中添加以下代码来解锁手机并直接进入主屏幕:

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

设置中的“屏幕锁定”为“PIN”时出现问题,上述代码不受影响.我期望它会绕过默认的“滑动解锁”屏幕并转到“PIN输入”屏幕,因此用户无需刷两次即可输入其PIN.

更新:

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

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

目前,我必须触摸两次传感器,首先关闭我的锁屏,然后关闭默认锁屏.只需轻轻一按,next app就可以关闭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);
    }
};

标签:android,fingerprint,lockscreen
来源: https://codeday.me/bug/20190701/1349802.html