Autore Topic: Chiarimento sui service e broadcast receiver  (Letto 519 volte)

Offline Semola

  • Utente junior
  • **
  • Post: 55
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Nexus 6P
  • Sistema operativo:
    Ubuntu 13.04 on Dell XPS 14
Chiarimento sui service e broadcast receiver
« il: 25 Gennaio 2015, 18:48:51 CET »
0
Salve a tutti
premetto che è la prima volta che ho a che fare con i service e con i broadcast receiver, vorrei spiegare prima cosa ho in mente di fare e poi vi espongo i miei dubbi.
Vorrei creare un service con al suo interno questi broadcast receiver
  • chiamate in arrivo
  • chiamate in uscita
  • sms in arrivo
  • sms in uscita

ho letto un pò di guide e questo è quel che ho capito sui service, correggetemi se sbaglio
mi basta estendere Service e implementare i metodi onStart (ed è qui che avvierò i broadcast receiver), onDestroy e onBind
per avviarlo da un'altra activity mi basta creare un intent
Codice: [Seleziona]
Intent intent = new Intent(NOMECLASSESERVICE.class.getName());mentre per stopparlo devo richiamare il metodo
Codice: [Seleziona]
stopService(intent)
Per quanto riguarda i broadcast receiver invece da quel che ho visto bisogna sempre estendere BroadcastReceiver e bisogna implementare solo il metodo onReceive e lì dentro implementare la funzionalità che mi occorre, alla fine registrare il broadcast receiver
Codice: [Seleziona]
registerReceiver(NomedelReceiver, new IntentFilter(NOME_DEL_SERVIZIO));
i miei dubbi sono:
  • tutto quello che ho illustrato sopra è giusto o c'è qualcosa che manca o di scorretto?
  • posso implementare un unico broadcast receiver per tutte e quattro le funzionalità che mi interessano, cioè chiamate in entrata e in uscita ed sms in entrata e in uscita? cioè c'è un modo per capire chi è che ha richiamato il broadcast receiver?
  • il service una volta avviato resta sempre sveglio oppure viene killato da android in alcune situazioni?
  • il service una volta avviato sopravvive anche al riavvio del dispositivo? oppure se si spegne il dispositivo all'avvio bisogna avviarlo di nuovo in qualche modo?
  • se avvio il service da un activity, e questa poi viene killata, quando riavvio l'activity c'è un modo per riprendere l'istanza di quel service per fare altre operazioni su quest'ultimo, tipo stopparlo insomma?

Grazie a tutti
:)

Offline Semola

  • Utente junior
  • **
  • Post: 55
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Nexus 6P
  • Sistema operativo:
    Ubuntu 13.04 on Dell XPS 14
Re:Chiarimento sui service e broadcast receiver
« Risposta #1 il: 27 Gennaio 2015, 23:08:37 CET »
0
Up

Inviato dal mio A510 utilizzando Tapatalk