@Override public void call(Session session, SessionState state, Exception exception) { Log.v("SessionStatusCallback", "call cbIndex:" + mCallbackIndex); Log.v("SessionStatusCallback", "state:" + state.toString()); if (exception != null) Log.v("SessionStatusCallback", "exception:" + exception.toString()); switch (mCallByMode) { case CallByLogin: if (session.isOpened()) { mCallByMode = CallByNull; // Date curDate = new Date(); // Log.v(Tag,"getExpirationDate:"+(session.getExpirationDate().getTime()-curDate.getTime())); if (mCallbackIndex != -1) nativeCallback( mCallbackIndex, "{\"authResponse\":{\"accessToken\":\"" + session.getAccessToken() + "\"},\"status\":\"connected\"}"); } else if (state == SessionState.CLOSED_LOGIN_FAILED) { mCallByMode = CallByNull; if (mCallbackIndex != -1) nativeCallback( mCallbackIndex, "{\"authResponse\":null,\"status\":\"not_authorized\"}"); } break; case CallByLogout: if (session.isClosed()) { mCallByMode = CallByNull; if (mCallbackIndex != -1) nativeCallback(mCallbackIndex, "{\"authResponse\":{},\"status\":\"unknown\"}"); } break; case CallByFBUI: { if (session.isOpened()) { mCallByMode = CallByNull; Message message = myHandler.obtainMessage(MyHandler.EXECUTE_WEBDIALOG, params); message.arg1 = mCallbackIndex; message.sendToTarget(); } else if (state == SessionState.CLOSED_LOGIN_FAILED) { mCallByMode = CallByNull; if (mCallbackIndex != -1) nativeCallback(mCallbackIndex, "null"); } break; } default: break; } }