我有一个需要 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();
?