登录后实现Android facebook sdk集成时没有任何反应

时间:2012-02-08 14:09:37

标签: android facebook

我正在尝试将我的Android应用程序与facebook集成。已经尝试了各种不起作用的选项,所以又回到官方facebook android sdk。

目前,我正在使用此链接: http://developers.facebook.com/docs/mobile/android/build/ 。我已经达到了步骤6.3。

我的疑问是:

  1. 我们是否需要在实际设备上安装facebook.apk,如上面链接的步骤6.3所述。我没有使用模拟器。另外,如果需要,如何在实际设备上安装facebook.apk。

  2. 当我第一次运行我的应用程序时,它要求我登录Facebook,然后屏幕变白,没有其他任何事情发生。在后续登录时,应用程序不会要求我登录,但屏幕会变为白色。

  3. 在我的应用程序中,我试图保留一个选项菜单,允许用户在他的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
    

    我已经被困在这里几天,并尝试了很多东西。所以,请帮忙。 此外,这对我来说是非常新的。所以,请原谅我,如果这是非常基本的东西。

2 个答案:

答案 0 :(得分:1)

我发现这个链接对于像我这样的初学者来说非常有用和简单。

http://www.integratingstuff.com/2010/10/14/integrating-facebook-into-an-android-application/

我可以按照上面提到的步骤在我的脸书上发布消息..

答案 1 :(得分:-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());
}