Mon WakeLock ne garde pas mon appareil éveillé.Comment faire fonctionner un WakeLock Android?
En OnCreate()
J'ai:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, "My Tag");
mWakeLock.acquire();
alors:
new CountDownTimer(1320000, 200) {
public void onTick(long millisUntilFinished) {
// I update a progress bar here.
}
public void onFinish() {
// I finish updating the progress bar.
mWakeLock.release();
}
}.start();
L'écran se éteint avant la fin de la minuterie, comment puis-je l'écran reste visible?
mWakeLock
est un champ déclaré précédemment comme ceci:
private PowerManager.WakeLock mWakeLock;
Mon appareil utilise Android 1.6. J'apprécierais vraiment toute aide pour résoudre ceci.
En effet. Vérifiez votre sortie logcat au moment où vous appelez le wakelock. Le système vous avertit généralement des autorisations manquantes. –
J'ai ces autorisations définies, et le système d'exploitation Android mentionne les autorisations lorsque j'installe l'application. – Curyous
Je ne fais que deviner, mais une autre chose à vérifier est qu'au moment où vous avez créé le verrou de réveil, l'écran ne s'est pas déjà éteint. Pour acquérir(), seules les garanties préservent/restaurent l'état d'alimentation au moment où le verrou de sillage a été créé. Après tout: à partir de la description de votre problème, nous ne pouvons pas être sûr que l'écran était toujours visible/visible au moment où vous avez appelé CountDownTimer.start(). –