Установить блокировку пробуждения,Установить блокировку пробуждения,Установить блокировку пробуждения

Вы можете установить блокировку пробуждения , чтобы временно держать устройство в бодрствующем состоянии.

Зависимости

Ваше приложение должно иметь разрешение WAKE_LOCK , чтобы установить блокировку пробуждения. Добавьте разрешение в манифест вашего приложения:

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

Создайте и получите блокировку пробуждения

Чтобы получить блокировку пробуждения, выполните следующие действия:

  1. Вызовите PowerManager.newWakeLock() , чтобы создать блокировку пробуждения. При этом создается и настраивается объект PowerManager.WakeLock , но на самом деле устройство не отключается.

  2. Если вы хотите, чтобы устройство не отключалось, вызовите методacquire acquire() объекта блокировки пробуждения.

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

Котлин

val wakeLock: PowerManager.WakeLock =
    (getSystemService(Context.POWER_SERVICE) as PowerManager).run {
        newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag").apply {
            acquire()
        }
    }

Ява

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
        "MyClassName::MyWakelockTag");
wakeLock.acquire();

Ключевые моменты об этом коде

Когда код создает объект блокировки пробуждения, он использует имя класса как часть тега блокировки пробуждения. Мы рекомендуем включать имя вашего пакета, класса или метода как часть тега блокировки пробуждения. Таким образом, в случае возникновения ошибки будет легче найти блокировку пробуждения в исходном коде. Дополнительные сведения см. в разделе Правильное название блокировки пробуждения .

См. также