Autore Topic: Problema funzionamento pulsanti Widget  (Letto 1492 volte)

Offline morriluca

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xperia Play
  • Sistema operativo:
    Windows xp
Problema funzionamento pulsanti Widget
« il: 10 Aprile 2015, 23:23:22 CEST »
0
Ciao a tutti.
Ho creato un'applicazione Widget che si deve aggiornare automaticamente tramite un Service ogni tot secondi.
Nel widget inoltre sono presenti dei pulsanti per eseguire delle operazioni.

Ho creato quindi il Widget che estende la classe AppWidgetProvider ed ho creato il mio servizio, che è un IntentService in quanto deve stare sempre attivo e ricercare via internet gli aggiornamenti da dare al widget.

Tutto funziona correttamente, ma riscontro il secondo problema.
Se avvio per esempio un'applicazione abbastanza pesante, come per esempio un gioco in 3d, al termine del gioco riscontro la seguente anomalia.
Il Widget continua ad aggiornasi tramite il mio IntentService ,
ma i pulsanti dei widget non mi funzionano più.
Come esempio riporto il metodo richiamato quando un pulsante qualsiasi viene premuto
Codice (Java): [Seleziona]
@Override
public void onReceive(Context context, Intent intent) {
      super.onReceive(context, intent);
      Log.e(TAG,"Pulsante premuto");
.....
Normalmente quando premo il pulsante del widget vedo a terminale la stringa "Pulsante premuto", mentre dopo aver
aperto altre app pesanti non mi funziona più. Come mai?
Come posso risolvere il problema?
« Ultima modifica: 10 Aprile 2015, 23:25:45 CEST da morriluca »

Offline morriluca

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xperia Play
  • Sistema operativo:
    Windows xp
Re:Problema funzionamento pulsanti Widget
« Risposta #1 il: 12 Aprile 2015, 10:21:09 CEST »
0
Sono riuscito a risolvere il problema.
Semplicemente io avevo inserito il codice di ascolto dei pulsanti
Codice (Java): [Seleziona]
updateViews.setOnClickPendingIntent(R.id.bt_all_ext, pi );Solamente nel metodo onUpdate del Widget.
Inserendolo anche il docie di ascolto pulsanti nel mio service, ogni volta che il service aggiorna il widget rimette anche in ascolto i pulsanti.
Questo risolve il problema.
Ho trovato la soluzione qui
https://github.com/commonsguy/cw-advandroid/tree/b01438e7f0fed8f795ddec4be43066905f03d0cc/AppWidget/TwitterWidget