Obtener si la app es lanzada por primera vez en Android

A veces necesitamos saber si la aplicación ha sido ya abierta por el usuario alguna vez en su transcurso, la siguiente función la podemos utilizar para determinar si mostrar un dialogo con la novedades "change-log" o la welcome-screen para ofrecer una pequeña ayuda de navegación

private int appGetFirstTimeRun() {
    //Check if App Start First Time
    SharedPreferences appPreferences = getSharedPreferences("MyAPP", 0);
    int appCurrentBuildVersion = BuildConfig.VERSION_CODE;
    int appLastBuildVersion = appPreferences.getInt("app_first_time", 0);

    //Log.d("appPreferences", "app_first_time = " + appLastBuildVersion);

    if (appLastBuildVersion == appCurrentBuildVersion ) {
        return 1; //ya has iniciado la appp alguna vez

    } else {
        appPreferences.edit().putInt("app_first_time",
                appCurrentBuildVersion).apply();
        if (appLastBuildVersion == 0) {
            return 0; //es la primera vez
        } else {
            return 2; //es una versión nueva
        }
    }
}


La función retorna un entero 0,1 o 2
  • 0: la App no se ha ejecutado nunca.
  • 1: la App alguna vez se ha ejecutado.
  • 2: la App se ha ejecutado alguna vez, pero no esa versión.

webserveis

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.

0 comentarios: