In meiner Anwendung deaktiviere ich die Keyguard-Sperre (d. Entfernen Lock Screen) mit dem folgenden Code und es funktioniert gut, bis ich auf eine Benachrichtigung in der Benachrichtigungsleiste klicken. Wenn ich auf eine Benachrichtigung klicke, wird der Sperrbildschirm automatisch wieder aktiviert. Jede Hilfe wird geschätzt.Disabled Keyguard Lock wieder aktiviert sich selbst nach dem Klicken auf eine Benachrichtigung
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 von mir. Ich habe meinen Tag gerettet - ich habe nur eine kleine Änderung am obigen Code vorgenommen (verschobene postDelayed Zeile direkt nach if Block). –
Funktioniert das mit RedMI-Telefonen? –
@JalpeshKhakhi Ich habe es nicht auf diese getestet. Es sollte, aber es ist möglich, dass es nicht, wenn Android genug geändert wurde. –