Zenos77 Posté(e) 13 septembre 2012 Share 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) Lien vers le commentaire Partager sur d’autres sites More sharing options...
djeman Posté(e) 13 septembre 2012 Share 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 13 septembre 2012 Share 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Zenos77 Posté(e) 18 septembre 2012 Auteur Share Posté(e) 18 septembre 2012 Merci pour vos commentaires :) maintenant tout marche Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.