以前のAndroidSDKでは、電話で新しい許可を求め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);
}
}
アップデート
これらの行をコメントアウトすると、許可要求画面が正常に表示されました。しかし、これが正しい方法かどうかはわかりません。
62com.facebook.LoginActivity
行目で、
Utility.clearFacebookCookies(this);
com.facebook.Session
1202行目、
Utility.clearFacebookCookies(getStaticContext());