在注册 Facebook 后第二次打开我的 android 应用程序时,如何从第二次获取更新的用户数据?

How to get updated user data from second time when when open my android app second time after sign up with Facebook?

我尝试使用 accessToken 从 Graph API 获取更新数据,但它始终显示注销按钮屏幕。

accessTokenTracker = new AccessTokenTracker() {
            @Override
            protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken newAccessToken) {
                accessToken = newAccessToken;
            }
        };

@Override
protected void onDestroy() {
    super.onDestroy();
    if(isFromFb){
        accessTokenTracker.stopTracking();
    }
}
if(accessToken != null) {

            GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(JSONObject object, GraphResponse response) {
                    Log.d("TestLog user : " , object.toString());
                }
            });
            Bundle parameters = new Bundle();
            parameters.putString("fields", "id,name,email,gender, birthday,picture.type(large),friends");
            request.setParameters(parameters);
            request.executeAsync();
        }

如何在Facebook SDK 4.0中二次获取病房的最新个人资料数据

试试这个 你已经在每次获取用户详细信息后以编程方式注销用户 LoginManager.getInstance().logOut();

有关更多信息,请参阅此处:- http://coderzpassion.com/android-using-facebook-login-application-using-latest-facebook-sdk/

对不起,我在那里犯了一个小错误,最后我得到了答案。我需要先获取当前访问令牌。但早些时候我只采取了当我 CurrentAccessToken 更改方法时。

accessToken = AccessToken.getCurrentAccessToken();
accessTokenTracker = new AccessTokenTracker() {
        @Override
        protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken newAccessToken) {
            accessToken = newAccessToken;
        }
    };

@Override
protected void onDestroy() {
    super.onDestroy();
    if(isFromFb){
        accessTokenTracker.stopTracking();
    }
}

if(accessToken != null) {

            GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(JSONObject object, GraphResponse response) {
                    Log.d("TestLog user : " , object.toString());
                }
            });
            Bundle parameters = new Bundle();
            parameters.putString("fields", "id,name,email,gender, birthday,picture.type(large),friends");
            request.setParameters(parameters);
            request.executeAsync();
        }