J'ai un gestionnaire d'alarme et je travaille avec quelques tâches en arrière-plan avec les gestionnaires d'alarme. J'utilise wakelock pour réveiller le CPU afin de terminer mon travail de fond qui provoque l'erreur ci-dessous. J'ai cherché et trouvé qu'un type de wakelock doit être spécifié et je ne devrais pas utiliser ACQUIRE_CAUSES_WAKEUP
. Que devrais-je utiliser à la place?Type de wakelock pour réveiller cpu
Mon code:
private static PowerManager.WakeLock wakeLock;
public static void acquirWakeLock(){
if(wakeLock!=null){
wakeLock.release();
}
PowerManager pm=(PowerManager) KITILApplication.getappContext().getSystemService(Context.POWER_SERVICE);
//Error is below line
wakeLock=pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.ON_AFTER_RELEASE,"aqs_wake_lock");
wakeLock.acquire();
}
public static void releaseWakeLock(){
if(wakeLock!=null)
wakeLock.release();
wakeLock=null;
}
Mon erreur:
Caused by: java.lang.IllegalArgumentException at android.os.PowerManager$WakeLock.<init>