Отключить блокировку экрана в Android 21 и выше - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь отключить экран блокировки, когда выключаю экран, но как только экран выключается, блокировка снова удерживается.

Я использую приведенный ниже код для отключения экрана блокировки:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
} else {
    KeyguardManager km = (KeyguardManager) activity.getSystemService(KEYGUARD_SERVICE);
    kl = km.newKeyguardLock("name");
    kl.disableKeyguard();
}

И чтобы включить экран блокировки:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
} else {
    KeyguardManager km = (KeyguardManager) activity.getSystemService(KEYGUARD_SERVICE);
    kl = km.newKeyguardLock("name");
    kl.reenableKeyguard();
}

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Попробуйте это в OnCreate of Activity.

 Window win = getWindow();
    win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
    win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
0 голосов
/ 27 апреля 2018

Пожалуйста, дайте ниже разрешение также в android.manifest.xml

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>

Вы также можете обратиться по этой ссылке для получения дополнительной информации

https://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/

...