|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 156 ![]() |
Bonjour,
J'ai le code suivant mais il bloque et ne passe même pas par la méthode onServiceConnected(). Code :
Code :
Merci d'avance pour votre aide |
||||
|
|
00
|
|
|
#2 |
![]() ![]() |
D'abord, c'est très mal... si la fonction de service-bind a été implémentée ainsi c'est parcequ'il y a une raison: on n'a pas a attendre que le service soit bindé.
De plus on ne doit jamais faire de sleep() ou wait() dans le thread UI. J'imagine que cela n'a pas été interdit pour laisser quand même deux ou trois fonctions IO disponibles, mais le but est que toutes les fonctions UI (dont onCreate) finissent aussi vite que possible. De toute manière, les cas que sleep()/wait()/notify() sont hyper hyper rares... a part des managers de message / worker-threads / IO.... Maintenant l'explication (à mon avis la plus plausible): La méthode qui va binder le service va envoyer un Intent. Cet Intent ne sera utilisé qu'au retour de la fonction onCreate() (même process pour le service) Même si il était utilisé immédiatement (process différent), le message envoyé en réponse ne sera processé par la pile de message *que* si le message "create" (appel de la fonction onCreate) a fini d'être processé...
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 156 ![]() |
nicroman : merci pour ta réponse
J'ai encore réfléchi au problème et en fait il faut utiliser les méthodes de la connection afin d'assurer que le binding soit effectif. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com