Invité Posté(e) 13 septembre 2012 Posté(e) 13 septembre 2012 Bonjour à tous, j'ai un petit souci avec mon programme : je voudrais qu'il ne se mette pas en veille quand l'appli est allumée, mais que cette propriété revienne dès qu'on lance une autre appli ou qu'on revient à l'écran d'accueil. à priori ça serait le code suivant, mais le problème c'est que quand je passe l'écran de portrait a paysage ou l'inverse, l'appli se crashe : protected PowerManager.WakeLock vWakeLock; public void onpause() { super.onpause(); this.vWakeLock.release(); } @Override public void onresume() { super.onresume(); this.vWakeLock.acquire(); } @Override public void onstop() { super.onstop(); this.vWakeLock.release(); } @Override public void onRestart() { super.onRestart(); this.vWakeLock.acquire(); } ainsi que le code suivant qui est dans onCreate : final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); this.vWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag"); this.vWakeLock.acquire(); quelqu'un saurait comment empecher le crashe ? (je suis certain que le crashe provient de ces lignes, quand je les enlève tout fonctionne a merveille)
djeman Posté(e) 13 septembre 2012 Posté(e) 13 septembre 2012 A priori déjà il y a un truc louche. A la création tu passes par le oncreate puis on onresume t'envoies 2 acquire et à la destruction tu passes par onpause puis onstop là c'est 2 release à la suite, c'est pas terrible. Quand tu changes d'orientation c'est là même 2 release suivi de 2 acquire (onpause, onstop, onrestart, onresume). http://developer.android.com/images/activity_lifecycle.png
chpil Posté(e) 13 septembre 2012 Posté(e) 13 septembre 2012 Je plussoie. Il y a beaucoup trop de weklock.acquire et (surtout) release. D'où les plantages A mon avis, ceci devrait suffire: - récupération du wakelock : dans le onCreate - acquisition : dans le onresume - libération : dans le onpause Et c'est tout
Invité Posté(e) 18 septembre 2012 Posté(e) 18 septembre 2012 Merci pour vos commentaires :) maintenant tout marche
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.