Facebook認証に次のコードを使用しましたが、正常に動作していますが、認証をキャンセルして再度認証しようとすると、アプリがクラッシュし、ログが原因でした:java.lang.UnsupportedOperationException: Session: an attempt was made to open an already opened session.
デバッグ時に次のようになりました
{Session state:CREATED, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[]}, appId:xxxxxxxxxxxxxxx}
この問題を解決するにはどうすればよいですか。助けてください。よろしくお願いします
private void askFacebbokAuthentication() {
Session session = Session.getActiveSession();
if (session.isOpened()) {
facebook = true;
if (!hasPublishPermission()) {
session.requestNewPublishPermissions(new NewPermissionsRequest(
MyActivity.this, PERMISSIONS));
}
} else {
Session.OpenRequest openRequest = null;
openRequest = new Session.OpenRequest(MyActivity.this);
if (openRequest != null) {
openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS);
if (!hasPublishPermission()) {
openRequest.setPermissions(PERMISSIONS);
}
session.openForPublish(openRequest);
}
}
}