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?
Réponses
Trop de publicités?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.
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.