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:
Aby utworzyć blokadę aktywacji, wyślij wywołanie
PowerManager.newWakeLock()
. Spowoduje to utworzenie i skonfigurowanie obiektuPowerManager.WakeLock
, ale nie spowoduje uśpienia urządzenia.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:
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);
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.