如何绕过 'swipe to unlock' 屏幕
How to bypass 'swipe to unlock' screen
我正在实施自定义 'swipe to unlock' 屏幕。
如果设置中的 'Screen lock' 是 'Swipe',我的应用程序可以正常运行。
在我的自定义 'swipe to unlock' 屏幕中 -> 用户滑动解锁 -> 它解锁 phone 并通过在我的 activity:
中添加下面的代码直接进入主屏幕
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
设置中的'Screen lock'为'PIN'时出现问题,上面的代码不影响。我期望的是它会绕过默认的 'swipe to unlock' 屏幕并转到 'PIN input' 屏幕,因此用户无需滑动两次即可输入他们的 PIN。
更新:
看来我们无法避免默认的'swipe to unlock'屏幕,所以我尝试另一种使用指纹的方法。
@Override 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);
}
};
我正在实施自定义 'swipe to unlock' 屏幕。
如果设置中的 'Screen lock' 是 'Swipe',我的应用程序可以正常运行。 在我的自定义 'swipe to unlock' 屏幕中 -> 用户滑动解锁 -> 它解锁 phone 并通过在我的 activity:
中添加下面的代码直接进入主屏幕activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
设置中的'Screen lock'为'PIN'时出现问题,上面的代码不影响。我期望的是它会绕过默认的 'swipe to unlock' 屏幕并转到 'PIN input' 屏幕,因此用户无需滑动两次即可输入他们的 PIN。
更新:
看来我们无法避免默认的'swipe to unlock'屏幕,所以我尝试另一种使用指纹的方法。
@Override 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);
}
};