Autore Topic: Alert da un service background  (Letto 1040 volte)

Offline terenz84

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
Alert da un service background
« il: 03 Febbraio 2011, 09:47:07 CET »
0
Salve

Ho un service che gira in background anche quando non sono dentro la mia applicazione, viene avviato quando finisce il boot.

Questo servizio viene lanciato ogni X minuti e vorrei fare in modo che esca una finestra in cui mi avvisa che è in esecuzione e nel caso avere un comando che ferma l'operazione.


Si puo' fare? avete qualche idea o esempio....?


Grazie a tutti...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re: Alert da un service background
« Risposta #1 il: 03 Febbraio 2011, 10:42:03 CET »
0
La soluzione classica consiste nell'avere una notifica che ti avvisa appunto che il service è in esecuzione.  Le notifiche tra l'altro possono essere customizzate a livello di grafica quindi ci potresti mettere dentro anche il pulsante per fermarlo.

Sent from my HTC Desire using Tapatalk

Offline terenz84

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
Re:Alert da un service background
« Risposta #2 il: 03 Febbraio 2011, 14:25:02 CET »
0
Sono riuscito a mettere la notifica che avvisa quando è in esecuzione. Ho provato anche a creare una notifica personalizzata ma se metto un button non funziona piu'?

Effettivamente si puo' avere un button con evento di tipo click in una notifica???
Si puo' fare ?? secondo me infatti non ha tanto senso... Essendo una notifica è un po' difficile interagire con gli eventi del servizio.


Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Alert da un service background
« Risposta #3 il: 03 Febbraio 2011, 14:29:43 CET »
0
Effettivamente si puo' avere un button con evento di tipo click in una notifica???
Si puo' fare ?? secondo me infatti non ha tanto senso... Essendo una notifica è un po' difficile interagire con gli eventi del servizio.

Si puo' fare.
Quello che succede e' che quando tu premi il button sulla notifica viene inviato un intent. Sta a te creare un apposito BroadcastReceiver che intercetta questo intent, ferma il servizio e aggiorna la notifica.

Offline terenz84

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
Re:Alert da un service background
« Risposta #4 il: 03 Febbraio 2011, 15:29:23 CET »
0
Sembra abbastanza complicato da fare...

Avresti mica qualche riferimento a qualche esempio...

Grazie per la disponibilità

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Alert da un service background
« Risposta #5 il: 03 Febbraio 2011, 15:38:42 CET »
0
Crei una custom notification come spiegato in

http://developer.android.com/guide/topics/ui/notifiers/notifications.html#CustomExpandedView

Modifichi il layout aggiungendoci un bottone e associ ad esso l'intent che deve mandare tramite il metodo

http://developer.android.com/reference/android/widge/RemoteViews.html#setOnClickPendingIntent(int,%20android.app.PendingIntent)

a questo punto si tratta di creare un BroadcastReceiver che intercetta questo apposito intent e starta/stoppa il servizio :)

E' piu' facile di quanto pensi ;)