2016-06-15 3 views
0

저는 Android를 배우며 등록 및 로그인 옵션으로 앱을 만들었습니다. 이제 로그 아웃하지 않는 한 사용자를 계속 로그하도록 구성해야합니다. 공유 환경 설정을 사용한다고 들었으므로이 코드를 사용했지만 작동하지 않는 것처럼 보입니다. 몇 분 후에도 로그 아웃됩니다.사용자가 로그 아웃하지 않는 한 앱을 로그인 상태로 유지하는 방법

public class PreferenceData 
{ 
    static final String PREF_USER_ID = "user_logged_in"; 

    public static SharedPreferences getSharedPreferences(Context ctx) 
    { 
    return PreferenceManager.getDefaultSharedPreferences(ctx); 
    } 

    public static void setUserLoggedIn(Context ctx, boolean userLoggedIn) 
    { 
    Editor editor = getSharedPreferences(ctx).edit(); 
    editor.putBoolean(PREF_USER_ID, userLoggedIn); 
    editor.commit(); 
    } 

    public static boolean getUserLoggedIn(Context ctx) 
    { 
    return getSharedPreferences(ctx).putBoolean(PREF_USER_ID); 
    } 
} 

문제를 해결하기 위해 뭔가를 추가해야합니까?

+0

무슨 뜻 이죠, 당신의 마지막 줄이 말을해야 –

+1

몇 분 후'.getBoolean'은하지', 에뮬레이터에서 –

+0

을 put' 다른 일을하려면 화장실에 가서 다시 사용하기 시작하면 사용자가 로그 아웃되어 다시 로그인해야합니다. 시간 카운터가 있는지 확실하지 않습니다. –

답변

1

마지막 기능에 문제가 있습니다. 해당 기능을 아래 코드로 바꾸십시오. 나는 응용 프로그램을 떠날 경우 공유의 환경 설정에서 값을 얻기 위해 잘못된 API를 사용하고

public static boolean getUserLoggedIn(Context ctx) 
{ 
    return getSharedPreferences(ctx).getBoolean(PREF_USER_ID, false); 
} 
+0

api를 확인 했으니 까, 맞습니다. 나는 그것을 테스트 할 것이므로 변경 사항을 확인하십시오. –

관련 문제