我正在将 facebook 集成到我的 android 应用程序中,当用户第一次登录时,我正在使用我的 requestFacebookPermissions(session) 方法请求 publish_actions 权限。但是每当我调用此方法时,它都会给我以下异常...
java.lang.UnsupportedOperationException: Session: an attempt was made to request new permissions for a session that has a pending request.
我没有任何其他待处理的请求,可能是其他一些内部请求,但是我如何在不获得此异常的情况下请求权限?如果我必须等到其他请求完成也没关系,但我不知道如何获取挂起的请求是否完成。
private void requestFacebookPermissions(Session session) {
if (session != null && session.getState().isOpened()) {
List<String> permissions = session.getPermissions();
Log.i("Facebook", "Permissions Count: " + permissions.size());
for (String string : permissions) {
Log.i("FacebookPermissions", string);
}
if (!permissions.containsAll(PERMISSIONS)) {
try {
session.requestNewPublishPermissions(new Session.NewPermissionsRequest(FacebookActivity.this, PERMISSIONS));
} catch (Exception e) {
e.printStackTrace();
}
}
} else {
return;
}
}