Ustawianie blokady aktywacji

Możesz ustawić blokadę aktywacji, aby urządzenie było tymczasowo aktywne.

Zależności

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

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

Tworzenie i uzyskiwanie blokady aktywacji

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

  1. Aby utworzyć blokadę aktywacji, wyślij wywołanie PowerManager.newWakeLock(). Spowoduje to utworzenie i skonfigurowanie obiektu PowerManager.WakeLock, ale nie spowoduje uśpienia urządzenia.

  2. Jeśli chcesz, aby urządzenie było aktywne, wywołaj metodę acquire() obiektu blokady aktywacji.

Jeśli na przykład Twoja aplikacja zawiera odbiornik transmisji, który korzysta z usługi do wykonywania pewnych zadań, możesz użyć tego kodu, aby ustawić i uzyskać blokadę aktywacji:

KotlinJava
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();

Najważniejsze informacje o tym kodzie

Gdy kod tworzy obiekt blokady aktywacji, używa nazwy klasy jako części znacznika blokady aktywacji. Zalecamy, aby w tagu blokady aktywacji podać nazwę pakietu, klasy lub metody. W ten sposób w przypadku błędu łatwiej będzie znaleźć blokadę aktywacji w kodzie źródłowym. Więcej informacji znajdziesz w artykule Właściwe nazywanie blokady aktywacji.

Zobacz również