Android service en bibliothèque
j'ai créé une bibliothèque, un service que je veux être capable de se lier à plus d'un apk.
C'est dans mes bibliothèques manifeste
<service class=".service.MyService" android:permission="com.wissen.permission.MY_SERVICE_PERMISSION">
<intent-filter>
<action android:value="com.wissen.testApp.service.MY_SERVICE" />
</intent-filter>
</service>
et c'est à mon apk manifeste
<uses-permission android:name="com.wissen.permission.MY_SERVICE_PERMISSION"></uses-permission>
et j'ai bien sûr ajouté la lib de l'apk. j'obtiens toujours le service n'est pas trouvée (avertissement). Ce que je fais mal.
je la lie de cette façon
bindService(new Intent("com.wissen.testApp.service.MY_SERVICE"), conn, Context.BIND_AUTO_CREATE);
Solution:
J'ai créé aidl pour ces et sa fonctionne très bien maintenant.
J'ai créé aidl pour ces et sa fonctionne très bien maintenant.
OriginalL'auteur Pintac | 2011-03-22
Vous devez vous connecter pour publier un commentaire.
Votre service doit être un service distant. Vous devez créer un *.aidl (interface à votre service) et de le lancer dans son propre processus.
Vous pouvez lire à ce sujet ici: Android Langage de Définition d'Interface (AIDL)
Si vous n'avez pas besoin de l'AIDL ?
Ce serait une autre méthode de déclarer un service dans une bibliothèque?
Je ne comprends pas votre question, désolé. Vous voudrez peut-être demander un frais de Dépassement de Pile question où vous pouvez expliquer plus en détails de vos préoccupations.
OriginalL'auteur UAS
Le service doit être spécifié dans le Manifeste pour votre application, pas la bibliothèque.
<service>
éléments et la comme définis dans une bibliothèque sera automatiquement inclus dans le projet hôte, mais je ne crois pas qu'il y en a encore. Il suffit de copier le<service>
élément de la bibliothèque du manifeste et de la mettre dans l'application hôte.- Je ajouter, mais le problème avec ce que j'ai à définir dans les deux apk( le manifeste) et puis quand je la lie en un et essayez de liaison dans l'autre, il crée une nouvelle instance de ne pas utiliser la même instance du service ou il semblait qu'il. j'ai mis un journal de dans le créer et il l'a appelé deux fois aussi que j'ai essayé d'appeler un jeu que j'ai dans mon objet de liaison et elle ne reflète pas si l'appel en l'obtenir à partir de la deuxième apk de sorte qu'il doit être de créer deux instances.
n'est-ce pas là de la solution plus élégante que de demander aux développeurs d'ajouter un service dans leur manifeste de l'application?
Manifeste de la fusion sera désormais un service déclaré dans le projet de bibliothèque dans le fichier manifeste de l'application.
OriginalL'auteur Robby Pond
J'ai créé aidl pour ces et sa fonctionne très bien maintenant.
OriginalL'auteur Pintac