我正在开发一个应用程序,它将替换 android 设备的默认锁定屏幕(滑动解锁)。我已通过禁用键盘保护管理器并使用广播接收器显示我的活动来成功完成此操作,以实现屏幕关闭和屏幕开启意图。现在,问题是当我出于任何原因再次设置默认屏幕锁定时,我的应用程序不会禁用键盘保护,除非我强制关闭它并再次启动它。
km = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE);
if( km.inKeyguardRestrictedInputMode()) {
//it is locked
km = (KeyguardManager) getApplicationContext().getSystemService(KEYGUARD_SERVICE);
kl=km.newKeyguardLock("com.example.helloworld.MainActivity");
kl.disableKeyguard();
} else {
Intent i = getIntent();
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(i);
}