Procédure de programmation pour forcer une application complète redémarrer? par exemple, tuer, puis commencer à
J'ai une application qui comprend un complexe de services et de l'activité de l'INTERFACE utilisateur. L'application fonctionne sur de multiples appareils qui communiquent les uns avec les autres via le WIFI via le service.
Depuis l'app est un prototype en cours de développement, je tiens à ajouter le support pour une force de "redémarrer" qui va tuer l'application et de la relancer propre. Il y a beaucoup de partage des éléments d'INTERFACE utilisateur qui a obtenu dévorés selon le cas d'utilisation, et il serait plus facile lors des tests (j'ai plusieurs appareils) si je pouvais suffit d'appuyer sur un bouton pour redémarrer complètement l'application.
Donc, quelqu'un aurait-il des suggestions sur la façon d':
1) de la Force de fermeture/arrêt/tuer votre propre application, à partir de votre application.
2) Réglez une minuterie/intention qui raconte l'OS à lancer votre application avant de la fermer/stop/le tuer.
Des conseils serait appréciée! Merci.
Vous pourriez être conscients de "ne pas garder activités" dans les paramètres de développeur. Peut-être les aider?
OriginalL'auteur garlicman | 2013-07-22
Vous devez vous connecter pour publier un commentaire.
Utiliser le code ci-dessous pour redémarrer l'application:
AlarmManager
aura de restrictions avec Android fabricants tels que Huawei. Vous feriez mieux d'utiliser une autre approcheSoin d'expliquer comment cet extrait de code résout OP question?
OriginalL'auteur Ramesh Kumar
Comme vous pouvez le comprendre, finish() est ce que vous voulez utiliser dans le but de tuer une activité. A. C. R. du chemin, cependant, il ne redémarrez votre activité, pas vraiment tuer le processus, et de commencer vers le haut. Si c'est ce que vous cherchez, au lieu d'avoir un mannequin Activité redémarre votre Activité d'origine, la bonne façon de le faire serait d'utiliser les drapeaux.
Les drapeaux sera effacer de votre pile de retour tout le chemin jusqu'à la première instance, quelle que soit l'Activité que vous créez, il va le tuer, puis en créer un nouveau. C'est essentiellement ce qui A. C. R de l'exemple est en train de faire, mais il est beaucoup plus concis.
Si ce n'est pas assez bon pour vous, afin de le faire correctement, c'est tout à fait un peu de travail, et nécessite des connaissances les plus avancées du système Android. Vous souhaitez créer un service qui s'exécute en arrière-plan (doit être un processus distinct, si vous voulez que le niveau d'application de l'état tué) que vous pourriez démarrage lorsque vous avez voulu tuer l'application, l'application est tuer lui-même, ou avoir le service de tuer l'application pour vous, et ensuite le lancement du service de l'intention qui permettrait de démarrer votre activité/back-up.
Espérons que cette aide! Bonne chance!
OriginalL'auteur spierce7
Essayer le code ci-dessous pour le redémarrage de l'application.
Pendant l'exécution, les variables statiques peuvent être tués si l'activité à laquelle ils appartiennent ne sont pas visibles, dans ce cas, ils auront leurs valeurs par défaut lors d'un retour à l'activité.
OriginalL'auteur IamMHussain
Voici ce que vous devez faire:
getLaunchIntentForPackage
intentionJ'aime utiliser un Gestionnaire pour ce faire, le thread de l'INTERFACE utilisateur:
}
OriginalL'auteur IgorGanapolsky
Pas faire. Le système d'exploitation décide de tuer une application. Votre application peut revenir à la vie si elle était vraiment morte ou juste caché.
Ce n'est pas pratique, mais la plate-forme fonctionne comme ça. Vous pouvez produire le même utilisateur face effet par la gestion de vos activités, que vous peut tuer et de restauration.
Vous pouvez toujours avoir des choses tué. Sinon apps comme Task Killer n'aurait jamais existé et est devenu si populaire pré 2.2
OriginalL'auteur slezica
Il y a peut être plus de manière officielle pour ce faire, mais voici comment je ferais.
Par exemple, je vais faire semblant il y a seulement deux Activités, celle que vous vivez actuellement (je vais l'appeler FirstActivity), et un autre "aide" de l'Activité (je vais l'appeler SecondActivity).
Dans le premier (celui que vous voulez le redémarrer à partir de), vous avez un bouton qui lance le redémarrage de l'application.
Deuxième Activité: C'est tout l'objet est de sorte que vous pouvez fondamentalement redémarrez votre application à partir de votre application (près tout le reste et puis redémarrez-le)
Qui va redémarrer complètement la première activité. Je ne sais pas si il sera aussi approfondie que vous le souhaitez, mais il n'y a vraiment pas d'autre moyen de faire ce genre de chose autant que je sache.
OriginalL'auteur anthonycr