Comment puis-je détecter si un utilisateur utilise mon application pour la première fois?

StackOverflow https://stackoverflow.com/questions/3762300

  •  04-10-2019
  •  | 
  •  

Question

Je voudrais savoir si l'utilisateur utilise l'application pour la première fois. J'utilise SharedPreferences, mais je ne sais pas si je la logique droite.

Comment puis-je mettre mon isFirstLaunched booléen true lorsque l'utilisateur premiers lancements, puis tout de suite mis à faux après le travail a été fait?

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;
    }
Était-ce utile?

La solution

Remplacer l'argument false dans getBoolean() par true, alors la logique s'adaptera.

boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", true); 

retourne true s'il n'y a pas réglage.

Autres conseils

vous pouvez enregistrer un BroadcastReceiver pour écouter Intent.ACTION_PACKAGE_FIRST_LAUNCH

http://developer.android.com/reference/android/ contenu / Intent.html # ACTION_PACKAGE_FIRST_LAUNCH

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top