¿Cómo puedo detectar si un usuario está utilizando mi aplicación por primera vez?
-
04-10-2019 - |
Pregunta
Me gustaría saber si el usuario está utilizando la aplicación por primera vez. Estoy usando SharedPreferences
, pero no estoy seguro si tengo la lógica derecha.
¿Cómo puedo configurar mi booleano isFirstLaunched
a cierto cuando los primeros lanzamientos de usuario, e inmediatamente establecen en false después del trabajo se ha hecho?
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;
}
Solución
Reemplazar el argumento false
en getBoolean()
por true
, entonces la lógica encajará.
boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", true);
Esto devolverá true
si no hay tal ajuste.
Otros consejos
Puede registrar un BroadcastReceiver para escuchar Intent.ACTION_PACKAGE_FIRST_LAUNCH
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow