从Facebook会话请求更多权限会返回错误

时间:2013-07-13 18:51:25

标签: android facebook facebook-sdk-3.0

我在onSessionStateChange

中使用此功能
session.requestNewReadPermissions(new NewPermissionsRequest(this, Arrays.asList("user_photos")));

我收到此错误:

  

java.lang.UnsupportedOperationException:Session:尝试了   为具有待处理请求的会话请求新权限。

这是onSessionStateChange回调的完整代码。

private void onSessionStateChange(Session session, SessionState state, Exception exception)
    {
        if (state.isOpened())
        {
            Log.i(TAG, "Logged in...");
            m_lblWelcome.setText("You are logged in :)");
            session.requestNewReadPermissions(new NewPermissionsRequest(this, Arrays.asList("user_photos")));

            //Request.executeMeRequestAsync(session, getCurrentLoggedInUser);

        }
        else if (state.isClosed())
        {
            Log.i(TAG, "Logged out...");
            m_lblWelcome.setText("Why did you leave :(");
        }
    }

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

在要求更多权限时,您需要在当前Session上调用onActivityResult()方法:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
    uiHelper.onActivityResult(requestCode, resultCode, data);
}