Vous pouvez définir un verrouillage de réveil pour maintenir temporairement l'appareil en éveil.
Dépendances
Votre application doit disposer de l'autorisation WAKE_LOCK
pour définir un verrouillage de réveil.
Ajoutez l'autorisation au fichier manifeste de votre application :
<uses-permission android:name="android.permission.WAKE_LOCK" />
Créer et acquérir un verrouillage de réveil
Pour acquérir un verrouillage de réveil, procédez comme suit :
Appelez
PowerManager.newWakeLock()
pour créer un verrouillage de réveil. Cela crée et configure un objetPowerManager.WakeLock
, mais ne maintient pas réellement l'appareil en éveil.Lorsque vous souhaitez maintenir l'appareil en éveil, appelez la méthode
acquire()
de l'objet wake lock.
Par exemple, si votre application inclut un récepteur de diffusion qui utilise un service pour effectuer certaines tâches, vous pouvez utiliser ce code pour définir et acquérir un verrouillage de réveil :
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();
Points clés concernant ce code
Lorsque le code crée l'objet de verrouillage de réveil, il utilise le nom de la classe comme partie de la balise de verrouillage de réveil. Nous vous recommandons d'inclure le nom du package, de la classe ou de la méthode dans la balise de wakelock. Ainsi, en cas d'erreur, il est plus facile de localiser le verrouillage de réveil dans votre code source. Pour en savoir plus, consultez Nommer correctement le verrouillage de réveil.