Ustawianie blokady aktywacji

Możesz ustawić blokadę wybudzania, aby tymczasowo utrzymać urządzenie w stanie aktywności.

Zależności

Aby ustawić blokadę wybudzania, aplikacja musi mieć uprawnienie WAKE_LOCK. Dodaj uprawnienia do pliku manifestu aplikacji:

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

Tworzenie i uzyskiwanie blokady wybudzania

Aby uzyskać blokadę wybudzania, wykonaj te czynności:

  1. Wywołaj funkcję PowerManager.newWakeLock(), aby utworzyć blokadę wybudzania. Spowoduje to utworzenie i skonfigurowanie obiektu PowerManager.WakeLock, ale nie zapobiegnie uśpieniu urządzenia.

  2. Jeśli chcesz, aby urządzenie nie przechodziło w stan uśpienia, wywołaj metodę acquire() obiektu blokady wybudzania.

Jeśli na przykład Twoja aplikacja zawiera odbiornik transmisji, który używa usługi do wykonania pewnych działań, możesz użyć tego kodu, aby ustawić i uzyskać blokadę wybudzania:

Kotlin

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

Java

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

Najważniejsze informacje o tym kodzie

Gdy kod tworzy obiekt blokady wybudzania, używa nazwy klasy jako części tagu blokady wybudzania. Zalecamy, aby tag blokady wybudzania zawierał nazwę pakietu, klasy lub metody. Dzięki temu w przypadku wystąpienia błędu łatwiej będzie znaleźć blokadę wybudzania w kodzie źródłowym. Więcej informacji znajdziesz w artykule Prawidłowe nazywanie blokad wybudzania.

Zobacz również