41 votes

Comment démarrer le service Android lors de l'installation

J'ai une application de gestion de périphérique, qui fonctionne essentiellement en tant que service en arrière-plan depuis le démarrage. Je voudrais démarrer cette application immédiatement après l'installation. Comment puis-je y arriver?

49voto

CommonsWare Points 402670

Vous ne pouvez pas faire ceci -- il n'y a aucun moyen de démarrer automatiquement votre service simplement parce qu'il a été installé.

La demande doit d'abord être invoquée par l'utilisateur à travers une sorte d'activité. Ou bien, vous allez avoir besoin de s'accrocher dans les diffuser Intent via le manifeste, de sorte que vous pouvez obtenir de contrôle lorsque l'un de ces événements se produisent et le coup d'envoi de votre service de cette façon. Ou bien, vous allez avoir besoin de demander à l'utilisateur de redémarrer afin que votre BOOT_COMPLETED Intent filtre peut obtenir le contrôle.

10voto

Tom Points 4834

Il y avait un trou - du Android SDK google Analytics utilisé pour envoyer une intention droite après l'installation, mais qui ont été fermés (produire beaucoup de confusion, bien sûr).

Mais la réponse finale, je crois, est ici:

http://developer.android.com/about/versions/android-3.1.html#launchcontrols

Cela semble suggérer que, en tant que de 3.1, Google a pris la décision que les applications sont dans un état arrêté jusqu'à ce que le consentement explicite de l'utilisateur active, par exemple le lancement d'application ou de placer un widget.

Cela signifie que la stratégie de l'écoute d'une diffusion commune (c'est à dire pour obtenir votre application a lancé subrepticement) ne fonctionne pas, soit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X