Wie kann ich erkennen, ob ein Benutzer meine Anwendung zum ersten Mal verwendet?
-
04-10-2019 - |
Frage
Ich möchte wissen, ob der Benutzer die Anwendung zum ersten Mal verwendet wird. Ich verwende SharedPreferences
, aber ich bin nicht sicher, ob ich die richtige Logik haben.
Wie kann ich meinen isFirstLaunched
boolean auf true gesetzt, wenn der Benutzer zum ersten Mal startet, und dann sofort auf false gesetzt nach der Arbeit getan wurde?
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;
}
Lösung
Ersetzen Sie das false
Argument in getBoolean()
von true
, dann wird die Logik passen.
boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", true);
Dies wird true
zurück, wenn es keine solche Einstellung ist.
Andere Tipps
Sie können BroadcastReceiver registrieren für Intent.ACTION_PACKAGE_FIRST_LAUNCH
http://developer.android.com/reference/android/ content / Intent.html # ACTION_PACKAGE_FIRST_LAUNCH
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow