[Android] 중복 클릭 방지 SharedPref

2023. 2. 18. 16:29ㆍ정리

반응형

 

 

  1. SharedPreferences를 사용하여 마지막으로 실행된 시간을 저장하고, 앱이 다시 시작될 때 현재 시간과 비교하여 특정 시간 동안 다시 실행되지 않도록 합니다.

public class MainActivity extends Activity {
    private static final String PREFS_NAME = "MyPrefsFile";
    private static final String LAST_RUN_TIME = "lastRunTime";
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        long lastRunTime = settings.getLong(LAST_RUN_TIME, 0);
        long currentTime = System.currentTimeMillis();
        
        if (currentTime - lastRunTime < 5000) {
            // 5초 이내에 다시 실행되었으므로 앱을 종료합니다.
            finish();
            return;
        }
        
        SharedPreferences.Editor editor = settings.edit();
        editor.putLong(LAST_RUN_TIME, currentTime);
        editor.commit();
        
        // 앱을 계속 실행합니다.
    }
}

반응형