使用google的人脸解锁,如何解锁后直接进入应用界面,而不需要再进行滑动解锁?
google 人脸解锁原生设计,解锁完成后还需要滑动界面解锁,可通过人脸解锁成功后回调的接口,直接调用dismissKeyguard将滑动锁解除。
由于修改的是公共接口,所以可能会影响其他第三方apk的表现,请自行评估确认是否修改,具体可参考如下:
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitorImpl.java
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitorImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitorImpl.java
@@ -24,6 +24,8 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.settings.CurrentUserTracker;
import java.util.ArrayList;
+import android.os.RemoteException;
+import android.view.WindowManagerGlobal;
public class KeyguardMonitorImpl extends KeyguardUpdateMonitorCallback
implements KeyguardMonitor {
@@ -110,9 +112,17 @@ public class KeyguardMonitorImpl extends KeyguardUpdateMonitorCallback
@Override
public void onTrustChanged(int userId) {
updateCanSkipBouncerState();
+ unlock();
notifyKeyguardChanged();
}
+ public void unlock() {
+ try {
+ WindowManagerGlobal.getWindowManagerService().dismissKeyguard(null, null);
+ } catch (RemoteException e) {
+ }
+ }
+
public boolean isDeviceInteractive() {
return mKeyguardUpdateMonitor.isDeviceInteractive();
}