Visualizzazione stampabile
-
Ciao, un consiglio per lo sviluppo futuro, io ho trovato utile loggare in questa maniera
Log.i( LOG_TAG, "Widget onEnabled()" );
le chiamate delle funzioni "@Override", per vedere come funzionava esattamente il ciclo di vita della Widget. Spero possa tornarti utile. ;)
-
grazie anche la questione dei log è utilissima!
c'è una cosa che non mi quadra dell'allarme che ho impostato io...non sembra che i millisecondi che ho impostato per l'update vengano considerati, sembra semplicemente che quando riceve il messaggio di ACTION_BATTERY_CHANGED il widget semplicemente si aggiorna...
in questo istante mi è venuto il dubbio che in realtà non sia per niente riuscito a far andare gli allarmi ma che ora il widget si aggiorna ascoltando i messaggi di broadcast come fa l'applicazione di cui ho pubblicato il codice qualche messaggio fa
se gli allarmi sono impostati dovrei vedere qualcosa nei log?
-
Se hai questo dubbio prova ad inserire il Log dentro alla funzione onUpdate, e controlla sul log l'arrivo della chiamata onUpdate sul tuo Widget.
-
sisi grazie era la prima cosa che ho fatto
ora ho risolto anche se non è facilissimo spiegare
come avevo impostato prima effettivamente il widget veniva aggiornato quando riceveva un messaggio broadcast di cambio stato batteria....gli alarm in realtà non funzionavano
per farli funzionare (in breve) ho messo la classe che estende broadcastReceiver in un file separato che viene chiamato dagli alarmi
-
Scusa come hai fatto ad aggiornare il widget tramite messaggio broadcast?
Io sto provando con intent.action_date_changed ma nn riesco...
-
mamma mia è passato tanto tempo e non mi ci sono più messo, ma dovrebbe essere una cosa del genere
con questo imposti l'intent
con questo ti metti in ascolto dell'itent
-
E' come l'ho fatto io, solo che io uso l'action per la data e cerco di farlo in un widget.
Nel widget nn va, nell'activity si.
Tuttavia nell'activity chiamo il finish() perchè devo chiuderla, e quando accade va in eccezione sull'intentfilter, e lo annulla...
-
Ho risolto tramite un service che registra a sua volta il receiver, che è il widget stesso, dato che gli appwidgetprovider sono una sottoclasse dei broadcastreceiver.