2013-03-21 2 views
9

После входа в систему я могу выполнить запросы FB. Через несколько минут (играли игры) Facebook запросы обязательно исключение:facebook, android java.lang.IllegalStateException: не удается выполнить задачу: задача уже запущена

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

Это терпит неудачу, когда я звоню

 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(); 

Одинаковые звонки называются сразу после входа в систему, и они работают. У меня есть тестовое приложение, где оно работает. Но в реальном приложении через несколько минут после входа в систему он не работает.

ответ

20

Вы работаете в потоке пользовательского интерфейса? Заверните код с runOnUiThread

как this

Facebook SDK mentions что ASync вызовы должно быть сделано из UI нить

+1

Я запускаю его в потоке GL. Я думаю, это нить. – Max

+0

Справа. Это помогло. Нить GL не является нитью UI. – Max

+0

+1. Спасибо, что работает для меня –

4

Вы можете использовать Request.toHttpConnection (запрос) вместо request.executeAsync()

Смежные вопросы