在以前的 android SDK 中,我通过调用请求新的权限Facebook.authorize()
,它显示了批准权限屏幕。但在 SDK 3.0 中,当我调用时FacebookActivity.openSessionForPublish()
,对话框总是显示登录表单。如何显示批准权限屏幕?
我已经设置了具有令牌和到期日期的会话,其 SessionState 为CREATED_TOKEN_LOADED
.
是否需要显示权限对话框或Facebook.authorize()
总是显示登录表单?那么请教我正确的方法。
我的代码如下
public class FbConn extends FacebookActivity {
public void onCreate(Bundle savedInstanceState) {
...
if( savedInstanceState == null ) {
Session savedSession = CommonUtil.getFbSession(CustomSessionStore.getFbInfo(getApplicationContext())); //get access token and expiration date from session store and set up new session.
Session.setActiveSession(savedSession);
setSession(savedSession);
}
}
protected void onStart() {
super.onStart();
openSessionForPublish(EpisodeApplication.config.getSelectedServer().fbAppId, Constants.FB_PERMISSIONS);
}
}
更新
我已经注释掉了这些行并且权限请求屏幕显示成功。但我不确定这是否正确。
在com.facebook.LoginActivity
第 62 行,
Utility.clearFacebookCookies(this);
在com.facebook.Session
第 1202 行,
Utility.clearFacebookCookies(getStaticContext());