2013-03-11 23 views
15

Si verificano problemi nel passaggio di un valore da un'attività a un servizio già in esecuzione. Mi chiedevo quale sarebbe l'approccio migliore da prendere? L'aggiunta di extra non funzionerà come credo che questo debba essere fatto prima che l'intento venga avviato? (correggimi se sbaglio).Android: passaggio di variabili a un servizio già in esecuzione

Qualsiasi aiuto sarebbe fantastico! Posso elaborare se necessario.

Dan.

risposta

27

Se il servizio non è un IntentService, è possibile chiamare startService(...) tutte le volte che si desidera. Il servizio verrà eseguito la prima volta ma le chiamate successive genereranno nuove chiamate onStartCommand() con i nuovi extra necessari.

Controllare this answer e doc.

+1

D'accordo, ecco altre prove da ['Activity # startService()'] (https://developer.android.com/reference/android/content/Context.html#startService%28android.content.Intent%29) ' s documentazione. – Sam

+0

Ah capisco. Non so come mi sia perso leggendo la documentazione. Grazie per la tua rapida risposta! – L337BEAN

+1

Vedi anche [questa risposta] (http://stackoverflow.com/a/15899750/1340631) che spiega come chiamare 'startService()' per passare i nuovi Intenti e leggerli all'interno del tuo servizio durante 'onStartCommand()'. Essenzialmente la stessa risposta qui, ma un po 'più prolissa. – scai

Problemi correlati