В предыдущем 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());