1
페이스 북 로그인이 필요한 응용 프로그램을 작성하고 있습니다. 먼저 사용자가 응용 프로그램을 열 때 로그인 할 수 있습니다. 그러나 응용 프로그램을 다시 시작한 후에는 세션을 검색 할 수 없습니다.Android Facebook SDK 세션 저장
private static Session openActiveSession(Activity activity, boolean allowLoginUI, StatusCallback callback, List<String> permissions) {
OpenRequest openRequest = new OpenRequest(activity).setPermissions(permissions).setCallback(callback);
Session session = new Session.Builder(activity).build();
if (SessionState.CREATED_TOKEN_LOADED.equals(session.getState()) || allowLoginUI) {
Session.setActiveSession(session);
session.openForRead(openRequest);
return session;
}
return null;
}
를 앱이 사용자가 또는 기록되지 않은 경우 이해하기 위해 열 때 나는 isLoggedIn
방법을 사용 : 내 로그인 코드는 다음과 같다.
public static boolean isLoggedIn() {
Session session = Session.getActiveSession();
if (session != null && session.isOpened()) {
return true;
} else {
return false;
}
}
그러나 응용 프로그램을 닫고 다시 열 경우,이 메소드는 true
을 반환하지 않습니다.
을 다시 검색하려면 어떻게해야합니까?은 과거에 로그인 한 사용자의 Facebook 계정 정보를 표시하는 팝업 창이 표시되지 않습니다.
어디서나 세션을 닫으시겠습니까? –
아니에요. 앱을 닫기 전에 로그인 한 경우 다음 openActiveSession 메서드 호출은 로그인 대화 상자를 표시하지 않고 이전 세션을 엽니 다. 그러나 로그인하지 않으면 로그인 대화 상자가 열립니다. 로그인 대화 상자를 표시하지 않고 사용자가 이전 앱에서 로그인했는지 여부를 알 수있는 방법이 있어야합니다. – sedran
Session.openActiveSessionFromCache를 호출 할 수 있으면 캐시 된 액세스 토큰을 사용하여 활성 세션을 열 수 없으면 null을 반환합니다. –