如何添加注销回调Android中的Facebook SDK [英] How to add a logout callback for facebook sdk in android

查看:847
本文介绍了如何添加注销回调Android中的Facebook SDK的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的Andr​​oid应用程序集成的Facebook SDK。由于手册中描述我加为Facebook的登录回调。但我有,如果用户从Facebook注销更改UI。我在哪里把那个code。我的code为登录名是

  / **
         *登录回调Facebook登录
         * /
        callbackManager = CallbackManager.Factory.create();    LoginManager.getInstance()。registerCallback(callbackManager,
            新FacebookCallback< LoginResult>(){                @覆盖
                公共无效的onSuccess(LoginResult loginResult){
                    //调用的updateUI()                    使用setData(提供者,脸谱);
                    loginType = LoginTypes.FB_LOGIN;
                    isLoggedin = TRUE;
                    GraphRequest请求= GraphRequest.newMeRequest(
                            loginResult.getAccessToken(),
                            新GraphRequest.GraphJSONObjectCallback(){
                                @覆盖
                                公共无效onCompleted(
                                        的JSONObject对象,
                                        GraphResponse响应){
                                    //应用code                                    txtName.setText(response.toString());
                                    的updateUI();
                                }
                            });
                    捆绑参数=新包();
                    parameters.putString(域,ID,姓名,电子邮件);
                    request.setParameters(参数);
                    request.executeAsync();
                }                @覆盖
                公共无效onCancel(){
                    editText_message.setText(登录已取消。);
                    //应用code
                }                @覆盖
                公共无效onerror的(FacebookException除外){
                    //应用code
                }
            });


解决方案

有两种可能的方式:

1),你需要覆盖上创建AccessTokenTracker是这样的:

  accessTokenTracker =新AccessTokenTracker(){
            @覆盖
            保护无效onCurrentAccessTokenChanged(的accessToken oldAccessToken,
                                                       的accessToken currentAccessToken){
                    如果(currentAccessToken == NULL){
                        //写你的code在这里做什么,当用户注销
                    }
                }
            }

2)你可以调用LoginManager.logOut()注销用户

希望这将帮助你:)

I have integrated Facebook sdk in my android app. As described in the manual I added the login callback for facebook. But I have to change the UI if the user logs out from facebook. Where do I put that code. My code for login is

         /**
         * Login Callback for facebook login
         */
        callbackManager = CallbackManager.Factory.create();

    LoginManager.getInstance().registerCallback(callbackManager,
            new FacebookCallback<LoginResult>() {

                @Override
                public void onSuccess(LoginResult loginResult) {
                    //Call updateUI()

                    setData("provider","facebook");
                    loginType = LoginTypes.FB_LOGIN;
                    isLoggedin = true;
                    GraphRequest request = GraphRequest.newMeRequest(
                            loginResult.getAccessToken(),
                            new GraphRequest.GraphJSONObjectCallback() {
                                @Override
                                public void onCompleted(
                                        JSONObject object,
                                        GraphResponse response) {
                                    // Application code

                                    txtName.setText(response.toString());
                                    updateUI();
                                }
                            });
                    Bundle parameters = new Bundle();
                    parameters.putString("fields", "id,name,email");
                    request.setParameters(parameters);
                    request.executeAsync();
                }

                @Override
                public void onCancel() {
                    editText_message.setText("Login Cancelled.");
                    // App code
                }

                @Override
                public void onError(FacebookException exception) {
                    // App code
                }
            });

解决方案

there are 2 possible ways:

1) you need to overwrite in on create AccessTokenTracker like this:

accessTokenTracker = new AccessTokenTracker() {
            @Override
            protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken,
                                                       AccessToken currentAccessToken) {
                    if (currentAccessToken == null) {
                        //write your code here what to do when user logout
                    } 
                }
            }

2) You can call LoginManager.logOut() to log out the user

hope this will help you :)

这篇关于如何添加注销回调Android中的Facebook SDK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆