2012-08-28 18 views
0

首先,我想用Facebook登錄。爲此,我使用了Android Facebook SDK。 代碼無法在執行2個Facebook功能時在同一活動中創建兩個活套 - Android

  facebook.authorize(ac, PERMISSIONS, new LoginDialogListener()); 

它沒有工作。所以我需要把Looper.prepare()和Looper.loop()。

  Looper.prepare(); 
      facebook.authorize(ac, PERMISSIONS, new LoginDialogListener()); 
      Looper.loop(); 

登錄後,用另一個按鈕單擊我想給朋友的牆壁張貼。所以我用

 Looper.prepare(); 
    AsyncFacebookRunner as=new AsyncFacebookRunner(facebook); 
    as.request(userId+"/feed", paramss, "POST", new WallPostRequestListener(), null); 
    Looper.loop(); 

這是顯示錯誤,說

只有一條環線可以每個線程

創建如果我使用的代碼,而不彎針線,像

AsyncFacebookRunner as=new AsyncFacebookRunner(facebook); 
    as.request(userId+"/feed", paramss, "POST", new WallPostRequestListener(), null); 

然後顯示錯誤,說

無法創建內螺紋()處理器已經不叫Looper.prepare

我搜索網爲解決方案,可沒有找到。我需要在同一個Activity上使用這兩個函數。因此,如果任何人知道,請幫助有什麼錯我的代碼........並考慮我作爲初學者在Android的螺紋不甚瞭解........

+0

你能發佈你所有的代碼嗎?在大多數正常情況下,你永遠不需要調用'Looper.prepare()'和'Looper.loop()' –

+0

總代碼是445行..! http://stackoverflow.com/questions/9338470/facebook-authorize-not-working-inside-android-asynctask-or-thread 從這個鏈接,你可以得到的主要部分。這就是爲什麼我需要使用looper.loop(); – AtanuCSE

+0

是否有原因需要在'AsyncTask'中進行認證? 'facebook.authorize()'已經是異步的,這就是爲什麼你有這個問題。 –

回答

0
new Thread(new Runnable() { 

     public void run() { 


       AsyncFacebookRunner as=new AsyncFacebookRunner(facebook); 
       as.request(userId+"/feed", paramss, "POST", new WallPostRequestListener(), null); 

     } 

這是我的問題的解決方案。或者另一種方式,就像在Jesse Chen的評論中提到的那樣

相關問題