3
您好我正在开发与Facebook SDK 3.0新的Android应用程序。尝试请求具有未决请求的会话的新权限
我试图在用户登录后申请'publish_stream'权限。 所以,在onSessionStateChange(),我把我的代码请求'publsh_stream'的权限,但它不起作用。
这里是我的代码:
private void onSessionStateChange(Session session, SessionState state, Exception exception) {
if (state.isOpened()) {
if (pendingPublishReauthorization && state.equals(SessionState.OPENED_TOKEN_UPDATED)) {
pendingPublishReauthorization = false;
publishFeed(userName);
}
m_pd.show();
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
String username=buildUserInfoDisplay(user);
userName=username;
saveAccount(username, "facebook");
Log.d(com.dress.folio.Constants.FACEBOOK_TAG, "login success");
//publishFeed(userName);
m_pd.dismiss();
h.postDelayed(irun, 1000);
Activity GetActivity=getActivity();
if(GetActivity != null) GetActivity.finish();
}
}
});
List<String> permissions = session.getPermissions();
if (!isSubsetOf(PERMISSIONS, permissions)) {
pendingPublishReauthorization = true;
//if(state == SessionState.OPENED_TOKEN_UPDATED) {
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, PERMISSIONS);
session.requestNewPublishPermissions(newPermissionsRequest);
//}
}
} else if (state.isClosed()) {
Log.i(com.dress.folio.Constants.FACEBOOK_TAG, "Logged out..." + exception);
}
}
在行session.requestNewPublishPermissions(newPermissionsRequest);,编译器总是说错误,如:一个试图申请新的权限具有挂起的请求的会话。
如何在用户facekbook SSO登录后在我的应用程序中请求publish_stream。
犯规多大意义或回答清楚将q – ChuckKelly
在我的活动方法“super.onActivityResult(......)”不叫。所以请按照您的代码进行操作,并确保在使用Facebook“Session.getActiveSession()。onActivityResult”的位置被调用。你得到这个错误,就像你尝试登录某处,但是你永远不会消费这个安东尼。 – Fraid
我几乎忽略了这个,因为票数很低,没有被接受的答案和坏评论,但这是**正确的**!谢谢! –