-
Gestion Bouton Retour
Bonjour à tous,
Je développe une petite application sur android et j'ai un petit soucis avec les services et le bouton ' Retour ' du téléphone.
Dans mon application, j'utilise un service que je peux démarrer ou arrêter grâce à un Toggle Button. De plus, j'utilise plusieurs activités, donc elles sont susceptibles d'être arrêter puis redémarrer.
Ce que je voudrais c'est que le service, une fois activé via mon bouton sur l'activité principale, continu de tourner en arrière plan quelque soit les manipulations que je fasse sur les activités MAIS qu'il soit arrêté si je quitte l'application (via le bouton ' Retour ' ou via un bouton que je peux implémenter).
Mon soucis se pose donc au niveau de la fonction ' onDestroy() ' qui est appelé indifféremment que je change d'activité ou que je quitte l'application.
Merci d'avance pour vos réponses.
-
Bonjour,
Tu peux déjà redéfinir l'action qui va être exécuter lors du bouton back :
T'as deux solutions :
Où :
Code:
onKeyDown(int keyCode, KeyEvent event)
Avec la KeyEvent KEYCODE_BACK.
Ensuite quand tu lances une Activity par dessus ne termine pas la première comme ça, tu ne devrais rien perdre.
-
Bonjour,
ou sinon avec la fonction IsFinishing() cela te retournera si l'activity est encore en cours ou si elle se ferme avec un finish() , le cas également avec le bouton back.
-
Merci
Merci pour vos suggestions.
Au final j'ai réussi à contourner le problème en détruisant le service (en prenant soins de vérifier qu'il soit bien actif) dans l'activity principale (dans la méthode onDestroy() de l'activity principale).
A savoir qu'en fait, mon activity principale ne sert qu'à mettre en place des onglets (elle extends de TabActivity).
De ce fait, lorsque je lance l'application, cette activity crée les onglets et me place directement dans l'activty qui correspond au premier onglet.
Donc quitter l'application revient en fait à quitter cette activity principale. Je n'ai alors plus de soucis en changeant d'onglet.
Encore merci pour vos réponses, je pense que si j'avais été plus claire, cette solution serai apparue plus vite.
Cordialement.