2

デモの例に従って実装した 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();ですか?

4

0 に答える 0