Si une application est forcée d'arrêter en suivant les étapes Paramètres-> Application-> ManageApplications -> -> Forcer l'arrêt, Android appelle-t-on l'onDestroy de l'activité ou de l'application? (Si ce n'est pas le cas, existe-t-il un moyen de savoir si l'application est morte en raison d'un arrêt de la force déclenché par l'utilisateur).Android force Arrêtez le rappel à l'application?
Répondre
Force l'arrêt de l'application va tuer le processus entier (c'est-à-dire avec Process.killProcess(int pid)
). Toutes les ressources associées à l'application seront supprimées et libérées par le noyau. Donc non, il n'y a aucun moyen que vous puissiez intercepter cette action. Lorsque vous lancez votre application sur le marché, la console de développeur vous fournira des statistiques concernant les fermetures de force, les plantages, etc. (si c'est ce que vous demandez).
Merci pour votre réponse. – Chris
En résumé, non, onDestroy()
n'est pas appelée, et vous ne pouvez pas le faire. Android ne le supporte pas.
Une réponse plus étendue ...
onDestroy()
ne semble pas être appelé dans ce scénario. J'ai testé cela en essayant de l'avoir Toast
moi avant d'appeler super.onDestroy, mais le message Toast
ne s'est jamais présenté. (Et selon this post, onDestroy()
est vraiment peu fiable et ne sera pas appelé souvent, voire pas du tout, sur les téléphones, alors qu'il peut être appelé sur un émulateur - alors soyez conscient de cela). Au lieu de cela, killProcess()
est appelée, et nous ne pouvons pas intercepter cela.
En outre, selon la réponse acceptée dans this post, il semble que nous ne pouvons même pas attraper et effectuer des tâches après un arrêt de force commandé par l'utilisateur.
Comme dans la plupart des cas, il n'y a aucune garantie que 'onDestroy()' sera appelé. –
Exactement. C'est déjà indiqué dans ma réponse. – Mxyk
Désolé, je ne suggérais pas que vous aviez tort ... Je voulais juste généraliser la réponse un peu ("comme dans la plupart des cas"). J'espère que ça ne vous dérange pas. :) –
Non. Ce n'est pas vraiment possible. Je n'ai pas regardé le code Android en question, mais j'imagine que "force stop" appelle simplement kill
sur l'ID de processus de votre application. Donc, la seule façon d'intercepter cela est de pouvoir intercepter les signaux, ce que Android ne permet pas.
Si vous étiez enraciné, vous pouvez éventuellement le faire, mais pas de manière standard.
La capacité à gérer les signaux serait un gros défaut de sécurité, à mon avis. : P –
- 1. Arrêtez le rappel jquery ajax de fonctionner
- 2. Le curseur Android force l'application à s'arrêter
- 3. Android Compte à rebours arrêtez pas dans le quiz application
- 4. android rappel
- 5. Android - Force Facebook connection
- 6. Arrêtez le trafic IPTV
- 7. Android force fermer erreur
- 8. android force clavier visible
- 9. Application Android force fermer
- 10. Android force Fragment à reconstruire Voir
- 11. Arrêtez le processus sur Android en utilisant Ruboto
- 12. Android: Force Close Erreur
- 13. Emplacement GPS Android Force
- 14. android GPS force fermer
- 15. Android: ScrollView force vers le bas
- 16. Arrêtez MediaPlayer
- 17. Application Android force close
- 18. Application Android force à se terminer
- 19. Android Admob force closin
- 20. Android OCR force fermer
- 21. Comment régler le rappel/l'alarme Android?
- 22. Android AlarmClock force provoquant près
- 23. Rappel d'alarme Android
- 24. Rappel de service à l'activité dans android
- 25. Alternative à la minuterie dans Android avec Annuler le rappel
- 26. Rappel dans android
- 27. Android Live Wallpaper - Force Portrait
- 28. Android: Daily Rappel
- 29. Interface ne pas obtenir le rappel Android
- 30. Arrêtez le setrepeat d'Android AlarmManager
Mais qu'en est-il de l'application Protection de l'application? utilisent-ils un trou de sécurité pour devenir root? Parce que si vous forcez l'arrêt de l'application, il recommence, peu importe comment vous le tuez, il va recommencer. – David