2010-05-26 5 views
34

J'ai suivi le Local Service example fourni par Google, mais mon Context::bindService(...) renvoie toujours faux et il est ServiceConnection::onServiceConnected est également jamais appelé.Android Context.bindService renvoie toujours false et l'objet ServiceConnection n'est jamais déclenché

Je comprends que Context::bindService() retourne immédiatement, mais mon objet ServiceConnection n'est jamais déclenché.

Je ne sais pas si ceux-ci appliquent

  1. Mon activité est en cours d'exécution dans un tabHost et je me demandais si cela peut affecter le service de liaison en aucune façon.
  2. Le service lui-même peut-être un problème, mais je peux appeler démarrer le service au même service avec le même Intent et il fonctionne comme prévu.

Quelqu'un at-il une expérience avec cela? Sil te plait aide moi.

Merci, P.S. Je vise Android 1.6

+0

Utiliser 'adb logcat', DDMS, ou la perspective DDMS dans Eclipse et rechercher * avertissements * au moment de votre liaison. Une liaison échouée entraîne généralement un avertissement. – CommonsWare

Répondre

61

Alors j'ai finalement compris. Il se trouve que TabSpec cannot bind to activities

En utilisant getApplicationContext(). BindService au lieu de simplement bindService sur votre activité résout le problème car il utilise le contexte d'application de niveau supérieur.

Hope this helps quelqu'un!

+0

THnaks, j'avais exactement le même problème :) –

+0

Heureux qu'il vous a aidé! – codinguser

+0

Génial .... cela m'a aidé ... merci mec ... –

2

Je maintenant c'est vieux, mais j'ai eu un problème légèrement différent. J'ai refacturé le package de mon projet. Le nom a donc changé de fichier, mais Eclipse n'a pas mis à jour le fichier manifeste. J'ai donc corrigé manuellement le fichier manifeste et changé le nom du paquet là aussi.

+0

merci! Argh, oubliant de mettre à jour ce manifeste peut conduire un homme fou :(Je souhaite qu'il y avait une erreur dans le journal indiquant cela ... – verboze

Questions connexes