Autore Topic: Comunicazione service -> activity  (Letto 943 volte)

Offline Alby

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Htc Desire
Comunicazione service -> activity
« il: 16 Dicembre 2010, 10:15:44 CET »
0
Ciao a tutti, ho visto che le activity possono lanciare service con degli extra che possono essere settati nell'intent che va a lanciare il service.
Ora io ho bisogno che il mio service possa "comunicare" una stringa all'activity che lo lancia, volevo chiedere se qualcuno sapesse come fare che non sia andando  a scrivere in un area condivisa tra activity e service (classe statica).

Ringrazio tutti in anticipo :)

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Comunicazione service -> activity
« Risposta #1 il: 16 Dicembre 2010, 10:44:14 CET »
+1
Usa i messaggi in broadcast.

Nell'activity ti registri per un determinato tipo di messaggio, usando registerReceiver(...).

Nel service, quando devi comunicare con l'activity, invii un intent che contiene quell'azione e i vari extras:

Codice (Java): [Seleziona]
Intent comunicationIntent = new Intent(this, TuaActivity.class);
comunicationIntent.setAction(tuaAction);
sendBroadcast(comunicationIntent);

7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline Alby

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Htc Desire
Re:Comunicazione service -> activity
« Risposta #2 il: 16 Dicembre 2010, 10:45:37 CET »
0
Grazie adesso provo :)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Comunicazione service -> activity
« Risposta #3 il: 16 Dicembre 2010, 12:04:49 CET »
+2
Alternativamente puoi creare un interfaccia remota come descritto in questo articolo:

Designing a Remote Interface Using AIDL | Android Developers

Se scegli di utilizzare la soluzione basata su Intent ti consiglio di utilizzare gli ordered broadcast in modo tale che il tuo intent venga indirizzato primariamente all'activity nel caso sia ancora attiva oppure a un broadast receiver (che magari si preoccupa di riavviarla o attuare un altro comportamento se richiesto) nel caso non sia più in esecuzione.

Context | Android Developers

Offline Alby

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Htc Desire
Re:Comunicazione service -> activity
« Risposta #4 il: 16 Dicembre 2010, 14:46:21 CET »
0
Grazie sto guardando, siccome devo solo comunicare una stringa cerco la maniera più semplice possibile :)