デモの例に従って実装した Facebook ログインを必要とするアプリケーションがあります (使用していませんUiLifecycleHelper
が、追加しようとしましたが、違いはないようです)。基本的に、ログイン ボタンを押して Facebook ログイン Web ダイアログを閉じてから、もう一度ボタンを押すと、次の例外が発生します。
06-10 11:48:48.780: E/AndroidRuntime(6482): java.lang.UnsupportedOperationException: Session: an attempt was made to open an already opened session.
06-10 11:48:48.780: E/AndroidRuntime(6482): at com.facebook.Session.open(Session.java:947)
06-10 11:48:48.780: E/AndroidRuntime(6482): at com.facebook.Session.openForRead(Session.java:385)
06-10 11:48:48.780: E/AndroidRuntime(6482): at com.[my package].SocialAbstractActivity$FacebookClickListener.onClick(SocialAbstractActivity.java:140)
これは、次のコードが原因です。
if(!activeSession.isOpened()) {
activeSession.openForRead(getReadOpenRequest());
showProgressDialog(R.string.dialog_logging_title, R.string.dialog_logging_message);
}
activeSession
開かれていないと報告しているのに、この例外がスローされるのはなぜですか?
さらに、電話をかけた後でもこのバグが発生するのはなぜactiveSession.closeAndClearTokenInformation();
ですか?