W mojej aplikacji wyłączam blokadę klawiatury (np. Odblokowanie ekranu blokady) za pomocą poniższego kodu i działa poprawnie, dopóki nie kliknę żadnego powiadomienia na pasku powiadomień. Jeśli kliknę powiadomienie, ekran blokady zostanie automatycznie włączony ponownie. Każda pomoc jest doceniana.Wyłączona blokada klawisza blokady ponownie włącza się po kliknięciu w powiadomienie
private void remove_lockscreen() {
final CheckBoxPreference lock = (CheckBoxPreference) findPreference("remove_lockscreen");
KeyguardManager km = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock kl = km.newKeyguardLock("keyguard_lock");
if (lock.isChecked()) {
prefEdit("remove_lockscreen", 1);
Toast.makeText(getBaseContext(), "Lockscreen will not be shown", Toast.LENGTH_SHORT).show();
kl.disableKeyguard();
}
else if (!lock.isChecked()) {
prefEdit("remove_lockscreen", 0);
Toast.makeText(getBaseContext(), "Lockscreen will be shown", Toast.LENGTH_SHORT).show();
kl.reenableKeyguard();
android.os.Process.killProcess(android.os.Process.myPid());
}
}
+1 ode mnie. uratowałem mój dzień - po prostu wprowadziłem drobną modyfikację powyższego kodu (przeniesiono linię postDelayed tuż po bloku if). –
Czy to działa z telefonami RedMI? –
@JalpeshKhakhi Nie testowałem tego na tych. Powinno, ale możliwe, że nie, jeśli Android został wystarczająco zmieniony. –