在单独的类中创建facebook登录回调

时间:2015-08-26 05:19:17

标签: android facebook facebook-graph-api

我有以下facebook回调,但我想在单独的类(例如FacebookConnector)中注册,而不是在MainActivity函数(我想用于任何facebook API连接的类似方案)中注册:

    facebookLoginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            //do something
        }

        @Override
        public void onCancel() {
            System.err.println("Login cancel");
        }

        @Override
        public void onError(FacebookException e) {
            System.err.println("Error on login");
        }
    });

在主MainActivity函数中,我想创建一个处理程序,其中包含以下代码:

facebookConnector = new FacebookConnector();
if (facebookConnector.successfulLogin()) {
     //do something
}

其中successfulLogin方法将返回true或false。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

如果我是你,我会这样做: 在cherry-pick我会说:

FacebookConnector

我还会加入public FacebookCallback<LoginResult> getFacebookCallBack() { return new FacebookCallback<LoginResult>() { @Override public void onSuccess(final LoginResult loginResult) { //Some code here myActivity.successfulLogin(); } @Override public void onCancel() { //Some code here } @Override public void onError(FacebookException exception) { //Some code here } }; } 的构造函数:

FacbookConnector

其中public void FacebookConnector(MainActivity myActivity){ callbackManager = CallbackManager.Factory.create(); FacebookCallback<LoginResult> mFacebookCallBack = getFacebookCallBack(); fbLoginButton.registerCallback(callbackManager, mFacebookCallBack); this.myActivity = myActivity; } 具有对FB登录按钮的引用。我还会在fbLoginButton

中注册回调

接下来,在FacebookConnector中,我会说:

MainActivity

同样的事情可以通过使用CallBack-Listener机制来完成,尽管我没有看到这样的差异。 希望有所帮助。如果您需要任何清晰度,请告诉我。