检查用户是否在android facebook sdk 4中从facebook注销

时间:2015-07-22 14:49:58

标签: android facebook

我的问题是我有一个可以使用facebook sdk新版本(4.0)连接到Facebook的应用程序,我希望当用户登录到facebook时,会出现一个textview并显示它的名称,并且当登出时点击 textview消失

第一部分已完成,我可以获得我想要的数据:

    btnLoginButton.registerCallback(callbackManager,
                new FacebookCallback<LoginResult>() {
                    @Override
                    public void onSuccess(LoginResult loginResult) {
                        fBLogInClicked = true;
                        GraphRequest.newMeRequest(loginResult.getAccessToken(),
                            new GraphRequest.GraphJSONObjectCallback() {
                                    @Override
                        public void onCompleted(JSONObject object,
                                            GraphResponse response) {
                                        try {

                                    String jsonresult = String
                                                        .valueOf(object);
                                    String str_firstname = object    .getString("first_name");
                                                String str_lastname = object
                                                        .getString("last_name");
                                                fullName = str_firstname + " "
                                                        + str_lastname;

                                            } catch (JSONException e) {

                                                e.printStackTrace();
                                            }
                                            if (fullName != null) {
                                                txtFBEmail
                                                        .setVisibility(View.VISIBLE);
                                                txtFBEmail.setText(fullName);
                                            }

                                        }
                                    }

                                }).executeAsync();
                    }

但是在退出后我不知道如何理解点击退出然后设置txtFBEmail的可见性。

我在onCreate()上尝试了这个代码,但是当我重新启动应用程序部分有用时,当注销点击时我无法让命令消失textview。:

AccessToken fb_token = AccessToken.getCurrentAccessToken();
     if(fb_token == null) {
         txtFBEmail.setVisibility(View.GONE);
     }

2 个答案:

答案 0 :(得分:2)

这种方法可以帮助您完成点击注销的确切时间:

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

答案 1 :(得分:0)

将此代码用于facebook sdk 4。

profile = Profile.getCurrentProfile().getCurrentProfile();
if (profile != null) {
	// user has logged in
    txtFBEmail.setVisibility(View.visible);
    
} else {
	// user has not logged in
    txtFBEmail.setVisibility(View.GONE);
}

有关新facebook-sdk 4集成的更多信息,您可以在此处查看我的答案。 Facebook Login with SDK4