2012-02-08 57 views
1

我想與我的facebook應用程序集成我的Android應用程序。已經嘗試了各種不起作用的選項,所以再次回到官方的facebook android sdk。登錄後沒有任何反應,而實施Android的Facebook的SDK集成

目前,我使用此鏈接: http://developers.facebook.com/docs/mobile/android/build/ 。我已經到了步驟6.3。

我的查詢是:

  1. 我們需要在上面的鏈接中的步驟6.3提到在實際設備上安裝facebook.apk。我沒有使用這個模擬器。另外,如果需要,我如何在實際設備上安裝facebook.apk。

  2. 當我第一次運行我的應用程序時,它要求我在Facebook上登錄,然後屏幕變成白色,沒有其他事情發生。在後續登錄時,應用程序不會要求我登錄,但屏幕會變成白色。

在我的應用程序中,我試圖保留一個選項菜單,允許用戶在他的Facebook牆上張貼。這是onOptionsItemSelected()方法的代碼

Intent postOnFacebookWallIntent = new Intent(this, FacebookConnect.class); 
startActivity(postOnFacebookWallIntent); 

這是FacebookConnect.class。我已經刪除了我的appid。

public class FacebookConnect extends Activity { 

    Facebook facebook = new Facebook("my appid"); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    facebook.authorize(this, new String[]{"email","publish_stream"},new DialogListener() { 
     @Override 
     public void onComplete(Bundle values) { 
      Log.d("amit","on complete"); 
     } 

     @Override 
     public void onFacebookError(FacebookError error) { 
      Log.d("amit","on error"); 
     } 

     @Override 
     public void onError(DialogError e) { 
      Log.d("amit","on dialog"); 
     } 

     @Override 
     public void onCancel() { 
      Log.d("amit","on cancel"); 
     } 
    }); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

     facebook.authorizeCallback(requestCode, resultCode, data); 
    } 
} 

這是logcat的:

02-08 19:25:48.969: D/Facebook-WebView(23512): Webview loading URL: https://m.facebook.com/dialog/oauth?display=touch&client_id=000000000000&scope=email%2Cpublish_stream&type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess 
02-08 19:25:49.019: V/webview(23512): OnSizeChanged: Enter 
02-08 19:25:53.909: D/Facebook-WebView(23512): Redirect URL: fbconnect://success#access_token=AAAE8SKdIsi0BAN7MxzphiPsODeMNJYb4EwGiKtSrZBgrlFrsdL425NCDfi076MBBV9wZCd2j2yyZChQFRCCcqnEVu35FATDxcMaCc69bgMamSVtt2E2&expires_in=3849&code=AQCHh8bKWESa5u-ZltTCYek5thJpmsTufBLiJdvv1koHlxhl7WDNFL7b1ev3QNAeW7AfYrzFOaV5rFaINesh9DC55Lu62yPrLIvJmMpZX7K-Hv01CVZuT92S0HxyMhNSzq1N0RMeI-H89vBrT85j03WM8uw-bzMo1VN_PWgA2aUibQtRZvkimXUh7J34u-p5VZ8 
02-08 19:25:53.919: D/Facebook-authorize(23512): Login Success! access_token=AAAE8SKdIsi0BAN7MxzphiPsODeMNJYb4EwGiKtSrZBgrlFrsdL425NCDfi076MBBV9wZCd2j2yyZChQFRCCcqnEVu35FATDxcMaCc69bgMamSVtt2E2 expires=1328713202932 
02-08 19:25:53.919: D/amit(23512): on complete 
02-08 19:25:53.939: V/webview(23512): ZoomScale 3 mPreserveZoom: false 

我已經困在這裏了幾天,已經嘗試了很多東西。所以,請幫助。 另外,這對我來說是非常新的。所以,如果這是非常基本的東西,請原諒我。

回答

-1

我也遇到了同樣的問題。我解決了它。這是你應該實施的改變。 在Facebook的SDK com.facebook.android.LoginButton.java類替換

private final class ButtonOnClickListener implements OnClickListener { 
      // within else part 
      mFb.authorize(mActivity, mPermissions, 
        new LoginDialogListener()); 
} 

private final class ButtonOnClickListener implements OnClickListener { 
      // within else part 
      mFb.authorize(mActivity, mPermissions,Facebook.FORCE_DIALOG_AUTH, 
          new LoginDialogListener()); 
} 
+0

這不會解決他的問題。 – onit 2012-02-08 15:21:38

+0

謝謝穆罕默德..我找到了你在Hackbook.java示例中提到的代碼。我沒有在我的代碼中使用過這個..我在我的問題中粘貼了我的整個代碼,用於facebook集成。我只想讓用戶通過點擊我的應用程序中的分享按鈕在他的Facebook牆上分享內容。Hackbook的哪些部分.java示例在我的代碼中需要嗎?對不起,我對此有點新鮮。 Hackbook.java示例對我來說有點壓倒性,我發現鏈接http://developers.facebook.com/docs/mobile/android/build/寫得不是很好。 – ambit 2012-02-09 06:15:20