Guest Posted September 13, 2012 Share Posted September 13, 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) Link to comment Share on other sites More sharing options...
djeman Posted September 13, 2012 Share Posted September 13, 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 Link to comment Share on other sites More sharing options...
chpil Posted September 13, 2012 Share Posted September 13, 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 Link to comment Share on other sites More sharing options...
Guest Posted September 18, 2012 Share Posted September 18, 2012 Merci pour vos commentaires :) maintenant tout marche Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.