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
我幾乎忽略了這個,因爲票數很低,沒有被接受的答案和壞評論,但這是**正確的**!謝謝! –