2013-02-03 3 views
3

J'utilise un service dans un projet de bibliothèque. Lorsque je démarre le service (en utilisant context.startService(service)), le onStart() du service n'a jamais été atteint. Je fais quelque chose de mal, et j'ai quelques questions: plombService dans le projet de bibliothèque

  1. Dans quel fichier manifest je déclarerait le service (projet de bibliothèque ou le projet APK)?

  2. Est-ce qu'il a une connexion à des services à distance et AIDL? Je ne suis pas si sûr à ce sujet, mais j'ai trouvé cette réponse Android service in library et il semble que je dois créer AIDL dans la même application où je n'ai pas de communication inter-processus (IPC).

  3. J'ai essayé d'étendre le service de bibliothèque dans mon projet APK et de le déclarer dans le fichier manifest du fichier APK - mais le service onStart() n'a jamais été atteint.

Merci.

+0

Avez-vous une erreur dans logcat? –

+0

Non - Logcat ne contient aucune erreur. – micyunu

+0

Postez le code que vous utilisez pour démarrer le service. –

Répondre

-2

La méthode onStart() a été dépréciée dans le niveau de l'API 5 donc sur Android 2.0 ou version ultérieure onStart() ne serait pas appelé, vous devez mettre en œuvre onStartCommand(Intent, int, int) à la place ..

Mise à jour: AS Wasser a souligné @ David mon erreur stupide .. Pouvez-vous vérifier que vous ne surchargez pas la méthode onStartCommand() ou si vous remplacez la onStartCommand() alors vous appelez le super.onStartCommand() à partir de celui-ci .. S'il vous plaît nous montrer du code ...

+0

Toujours - ne touche jamais OnStartCommand. – micyunu

+1

Cette réponse est tout simplement faux. 'onStart()' a été déprécié, mais il est toujours là et fonctionne toujours. La documentation de 'onStartCommand()' indique spécifiquement: ** "Pour la rétrocompatibilité, l'implémentation par défaut appelle' onStart (Intent, int) '" ** –

+1

Pouvez-vous publier votre code de service et le code que vous utilisez pour invoquer le un service... –

0

regarder this link, pour référence sur la façon de configurer le fichier * .AIDL, jetez un oeil à ce question ainsi.

Questions connexes