Как я могу определить, использует ли пользователь мое приложение в первый раз?
-
04-10-2019 - |
Вопрос
Я хотел бы знать, использует ли пользователь приложение в первый раз. я использую SharedPreferences
, но я не уверен, имею ли у меня правильная логика.
Как я могу установить мой isFirstLaunched
Boolean to true, когда пользователь сначала запускает, а затем немедленно установить false после выполнения работы?
protected void onStart() {
super.onStart();
if(isFirstLaunch()){
populateDefaultQuotes();
//Save the preferences, isFirstLaunch will now be false
SharedPreferences settings = getSharedPreferences(Constants.PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("isFirstLaunch", false);
editor.commit();
}
setupUI();
checkOrientation();
restoreCache();
}
private void populateDefaultQuotes(){
System.out.println("!!!!!! FIRST TIMER !!!!!!");
}
private boolean isFirstLaunch() {
// Restore preferences
SharedPreferences settings = getSharedPreferences(Constants.PREFS_NAME, 0);
boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", false);
return isFirstLaunch;
}
Решение
Заменить false
аргумент getBoolean()
к true
, Затем логика будет соответствовать.
boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", true);
Это вернет true
Если такая настройка нет.
Другие советы
Вы можете зарегистрировать BroadCastreceiver, чтобы прослушать Intent.cajuet_package_first_launch
http://developer.android.com/reference/android/content/intent.html#action_package_first_launch.
Не связан с StackOverflow