简体   繁体   English

Facebook SDK-如何正确覆盖onActivityResult()?

[英]Facebook SDK - how to override onActivityResult() correctly?

I have a simple Activity in which I want to get some information about the Facebook user: 我有一个简单的活动,我想在其中获得有关Facebook用户的一些信息:

public class FacebookActivity extends Activity {

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

        setContentView(R.layout.facebook_layout);

        // start Facebook Login
        Session.openActiveSession(this, true, new Session.StatusCallback() {

            // callback when session changes state
            public void call(Session session, SessionState state, Exception exception) {
                if (session.isOpened()) {
                    Request.executeMeRequestAsync(session, new Request.
                            GraphUserCallback() {

                        // callback after Graph API response with user object
                        @Override
                        public void onCompleted(GraphUser user, Response response) {
                            if (user != null) {
                                Log.i("facebook_id", user.getId());
                                Log.i("facebook_name", user.getName());
                            }
                        }
                    });
                }
            }

        });
    }
}

But onCompleted() method is not called if the onActivityResult() method is not overridden. 但是,如果未重写onActivityResult()方法,则不会调用onCompleted()方法。 So, my question is how to make it correctly in my case? 那么,我的问题是如何根据自己的情况正确设置?

Thanks. 谢谢。

try that 试试看

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

    Session.getActiveSession().onActivityResult(this, requestCode,
            resultCode, data);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM