9
votes

Service Android en bibliothèque

J'ai créé une bibliothèque avec un service dans lequel je veux pouvoir se lier à plusieurs APK.

Ceci est dans mes bibliothèques Manifest P>

bindService(new Intent("com.wissen.testApp.service.MY_SERVICE"), conn, Context.BIND_AUTO_CREATE);


1 commentaires

J'ai créé AIDL pour ceux-ci et sa bonne année maintenant.


3 Réponses :


27
votes

Le service doit être spécifié dans le manifeste de votre application, pas la bibliothèque.


4 commentaires

Cela devrait fonctionner bien. Je pense que finalement éléments et similaires définis dans une bibliothèque sera automatiquement inclus dans le projet hôte, mais je ne pense pas que ce soit là. Copiez simplement l'élément du manifeste de la bibliothèque et mettez-le dans l'application hôte.


Je l'ajoute, mais le problème que je dois définir dans les deux apks (manifeste), puis lorsque je le lie en une et essayez de le lier dans un autre, il crée une nouvelle instance qu'il n'utilise pas le même exemple de service ou J'aime ça. Je me suis connecté à la création et cela l'a appelé deux fois aussi j'ai essayé d'appeler un ensemble que j'ai dans mon objet contraignant et que cela ne se reflète pas si vous appelez l'issue de la seconde APK afin de créer deux instances.


N'y a-t-il pas une solution plus élégante que de demander aux développeurs d'ajouter un service dans leur manifeste d'application?


La fusion manifeste mettra maintenant un service déclaré dans le projet de bibliothèque dans le fichier manifeste de l'application.



1
votes

Votre service doit être un service à distance. Vous devez créer une *. .AIDL (interface à votre service) et le démarrer dans son propre processus. Vous pouvez en lire ici: Langue de définition d'interface Android (AIDL)


3 commentaires

Non, il n'a pas besoin d'être un service distant à utiliser à partir d'un projet de bibliothèque Android. Ce serait nécessaire uniquement si le service était dans une application totalement distincte.


@Commonsware Quelle serait une autre méthode de déclarer un service dans une bibliothèque?


@Bryan: Je ne comprends pas votre question, désolé. Vous voudrez peut-être poser une question de trop-plein de pile de fraîcheur où vous pouvez expliquer plus en détail vos préoccupations.



0
votes

J'ai créé AIDL pour ceux-ci et son bien fonctionnant maintenant.


1 commentaires

Écrivez-vous un blog ou partagez-vous votre code ..Je suis confronté à une erreur comme Stub.interface non trouvé ...