user.getBirthday()返回null

时间:2014-03-06 20:09:21

标签: java android facebook

我正在使用facebook sdk和android,当我使用user.getbirthday时,它总是为空。

我已添加权限

LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
    authButton.setFragment(this);
    authButton.setReadPermissions(Arrays.asList("user_birthday", "user_likes"));

我这样要求

private void onSessionStateChange(Session session, SessionState state, Exception exception) {

    if (state.isOpened()) {

        Request.newMeRequest(session, new Request.GraphUserCallback() {
            @Override
            public void onCompleted(GraphUser user, Response response) {
                if (user != null) {
                        Age = user.getBirthday();
                    }
            }
        }).executeAsync();
    }
}

但字符串年龄保持为空。

好吧我弄清楚了,它真的很简单,在我的应用程序上它记得我的登录而且我再也没有点击登录按钮,所以在我添加生日许可后我从未点击过按钮,它是未经许可自动登录

我刚刚清除了应用数据并再次使用facebook登录并且运行正常。

1 个答案:

答案 0 :(得分:0)

您忘了拨打executeAsync()

Request.newMeRequest(session, new Request.GraphUserCallback() {
    @Override
            public void onCompleted(GraphUser user, Response response) {
                if (user != null) {
                        Age = user.getBirthday();
                }
            }

}).executeAsync();