J'ai ce service simple qui diffuse l'emplacement actuel de l'utilisateur. Je souhaite utiliser le mécanisme de liaison juste pour contrôler le cycle de vie du service, mais le service ne commence tout simplement pas.
Qu'est-ce que j'ai fait de mal? p> < Code> locativesservice.java code> p> < Strong> Edit: Strong> corrigé grâce à la réponse de Nickt. p> L'entrée manifeste n'a pas eu d'intention filtre ou le nom correct p> et l'intention que j'ai utilisée pour la liaison était comme celles que vous devez utiliser. lors du démarrage d'une activité. Le bon est: p> localbinder.java code> p>
androidmanifest.xml code> p>
3 Réponses :
J'ai eu mon porté ensuite les rappels pour activité code> implémente
serviceconnection code> et lié comme ceci:
oneserviceconnected () code> et
onserviceisischeconné () code> dans mon
activité code> p> p>
Cela ne fait aucune différence.
Cela créera le service, c'est-à-dire appeler la méthode Oncreate () et elle se liera à votre activité, mais elle n'appellera pas l'ONSTARTCOMMAND () pour le service. Par conséquent, il ne commencera pas le service.
L'ONSTARTCOMMAND ne sera exécuté que si le service est explicitement démarré, on dirait que vous voulez simplement vouloir y lier, c'est bien. Je ne vois pas que vous avez correctement configuré la connexion de service. Je pose mon programme Stub qui montre comment passer à un service et appeler une méthode dans le service via un classeur. Vous voudrez peut-être exécuter cela et voir la séquence des différents messages de journal. Vous devrez évidemment ajouter votre code à niveau large et votre code surcommode pour la rendre utile pour vous.
L'activité p> Le service p> le manifeste p> espère que cela aide p> p>
Lorsque vous appelez Vérifiez la sortie de logcat. p>
Ceci est un bogue d'Android. P>
Pour résoudre le problème, utilisez Bindservice code> Vous pouvez obtenir cette erreur: p>
ActivityManager Java.lang.classcastException: android.os.binderProxy ne peut pas être jetée à com.android.server.am.activitivitéRecord $ Token
code> p>
gettaplicationContextex (). Bindservice (...) Code> EM> P>
Qu'est-ce que votre
Ibinder Ibinder ONBIND (intention intention) code> méthode dans
locativesservice.java code> ressemble?
@Jens j'ai édité la question à inclure la méthode OnBind ().
Hm. Et vous n'obtenez même pas le
log.i ("Service de localisation", "Oncreate ()"); Code> Connectez-vous votre logcat?