2012-07-25 34 views
0

我想添加一個帖子到Facebook的按鈕爲我的應用程序共享的東西,我認爲我的代碼的方式有問題。首先,我有我的登錄類,其中它處理Facebook的所有登錄部分,然後存儲我需要的所有數據(用戶名,電子郵件,fb_id),我可以將所有登錄類的值傳遞給另一個,然後完成上課原因我不希望用戶點擊後退按鈕後返回登錄頁面。在我的細節活動中有一個按鈕,當我點擊它時需要發佈到facebook我設置的消息,但問題是當我使用mFacebook.isSessionValid()檢查登錄是否對用戶有效時,它不會返回任何內容我認爲我的Facebook課程的所有信息都會刷新(儘管我不確定那部分)。那麼這就是我需要如何在另一個類上發佈消息。Facebook的發佈狀態獲得從一個類到另一個類的會話

這裏的POST代碼我使用:

private void postToFacebook() { 
     mProgress.setMessage("Posting ..."); 
     mProgress.show(); 

     AsyncFacebookRunner mAsyncFbRunner = new AsyncFacebookRunner(mFacebook); 

     Bundle params = new Bundle(); 
     params.putString("message", "My Message"); 
     params.putString("name", "My app name"); 
     params.putString("caption", "caption here"); 
     params.putString("link", "URL PAGE HERE"); 
     params.putString("description", "DESCRIPTIONS HERE"); 
     params.putString("picture", "IMAGE URL"); 
     mAsyncFbRunner.request("me/feed", params, "POST", new WallPostListener()); 

    } 

    private final class WallPostListener extends BaseRequestListener { 
     public void onComplete(final String response) { 
      mRunOnUi.post(new Runnable() { 
       public void run() { 
        mProgress.cancel(); 

        Toast.makeText(ScoreScreen.this, "Posted to Facebook", Toast.LENGTH_SHORT).show(); 
       } 
      }); 
     } 
    } 

這是我用於顯示登錄頁面(主)之後的下一個頁面代碼:

SessionStore.saveName(username, Main.this); 
      //IF ONLY SUCCESS IN FETCHING RECORDS 
      Intent i = new Intent(Main.this, SplashScreen.class); 
      i.putExtra("fname", fname); 
      i.putExtra("lname", lname); 
      i.putExtra("eadd", eadd); 
      i.putExtra("fbid", fbid); 
      i.putExtra("gender", gender); 
      startActivity(i); 
      Toast.makeText(Main.this, "Connected to Facebook", Toast.LENGTH_SHORT).show(); 
      Main.this.finish(); 

回答

0

使用SessionStore解決的問題。恢復。我不太確定,但我認爲在完成主要活動並轉到下一個課程後,會話就會結束。稍後將回顧這些問題。

相關問題