我有一个需要Facebook登录的应用程序,我根据演示示例实现了(不使用UiLifecycleHelper
,虽然我已经尝试添加它,但它似乎没有区别)。基本上当我点击登录按钮时,关闭Facebook登录网页对话框,然后再次点击按钮,我得到了这个例外:
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();
之后我仍然会收到这个错误?