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