2013-03-21 8 views
9

Dopo l'accesso, è possibile effettuare query FB. Dopo pochi minuti (partita giocata) le richieste di Facebook non riescono eccezione:facebook, android java.lang.IllegalStateException: Impossibile eseguire l'attività: l'attività è già in esecuzione

java.lang.IllegalStateException: Cannot execute task: the task is already running 

Viene a mancare quando chiamo

 Request.executeMeRequestAsync(Session.getActiveSession(), 
       new Request.GraphUserCallback() {... 

     Request.executeGraphPathRequestAsync(Session.getActiveSession(), 
       "me/apprequests", new Request.Callback() {... 

     Request request = new Request(session, "me/apprequests", null, 
        null, new Request.Callback() { .... }); 
     RequestAsyncTask status = request.executeAsync(); 

stesse chiamate sono chiamati subito dopo il login e funzionano. Ho un'app di prova in cui funziona. Ma in app reale dopo pochi minuti dopo il login non funziona.

risposta

20

Stai utilizzando il thread dell'interfaccia utente? Avvolgere il codice con runOnUiThread

come this

Facebook SDK mentions che chiamate asincrone deve essere fatto dal thread dell'interfaccia utente

+1

Lo sto eseguendo su GL thread. Immagino sia ui thread. – Max

+0

Giusto. Ha aiutato. Il thread GL non è un thread UI. – Max

+0

+1. Grazie funziona per me –

4

È possibile utilizzare Request.toHttpConnection (richiesta) al posto di request.executeAsync()

Problemi correlati