Autore Topic: Listener in Android come posso crearne uno?  (Letto 834 volte)

Offline andexp

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Mostra profilo
Listener in Android come posso crearne uno?
« il: 17 Novembre 2012, 18:02:34 CET »
0
ciao ho bisogno di creare un Listener in caso di un evento interno al device (esempio se c'è copertura 3G, oppure se sto usando la fotocamera). ho imparato ad interagire coi listener con la classe setonclicklistener, ma come ho detto prima ho bisogno di creare un listener in base ad un evento interno del device e non in base al tap sullo schermo.... potete dirmi cosa e dove cercare?
grazie :-)

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
R: Listener in Android come posso crearne uno?
« Risposta #1 il: 17 Novembre 2012, 19:57:02 CET »
0
Credo che ti serva sfruttare il meccanismo dei filtri sugli intent delle activity.
Quando definisci nel manifest le tue activity di fatto stai dicendo che la tua attività è un listener per certi eventi del dispositivo, infatti definisci quando devono attivarsi.
Ogni evento che accade nel dispositivo forza android a controllare quali activity installate sono ricettive al dato evento, controllando gli intent filter delle varie attività papabili.
Quello che devi fare è cercare nella documentazione o sul web gli intenti che vuoi monitorare, e indicare nel tuo manifest quale attività far lanciare di conseguenza.

Offline andexp

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Mostra profilo
Re:Listener in Android come posso crearne uno?
« Risposta #2 il: 17 Novembre 2012, 20:01:57 CET »
0
Ma la activity devo avviarla io e non farla avviare in automatico in base a quell'evento.
Mi spiego meglio, io avvio l'activity e se ho copertura 3g devo fare questa cosa.

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
R: Listener in Android come posso crearne uno?
« Risposta #3 il: 17 Novembre 2012, 20:29:33 CET »
0
Allora non ti serve un listener ma più semplicemente controllare all'avvio dell'activity se la connessione dati è attiva, ed eventualmente quale tipo di connessione dati :)
Si può fare perché android mettere a disposizione un servizio per monitorare lo stato della rete dati.
Se spulci nella documentazione, o nella sezione apposita per frammenti di codice d'utilità generale di questo forum, lo trovi di certo.
Vado a memoria ma dovrebbe essere il ConnectivityManager

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Listener in Android come posso crearne uno?
« Risposta #4 il: 17 Novembre 2012, 21:12:48 CET »
0
Ma la activity devo avviarla io e non farla avviare in automatico in base a quell'evento.
Mi spiego meglio, io avvio l'activity e se ho copertura 3g devo fare questa cosa.

Dai una occhiata al metodo registerReceiver di Activity, dovrebbe essere quello che cerchi.