Ejecutar código solo una vez después de instalar una aplicación en un dispositivo Android

Quiero ejecutar una pieza de código solo una vez que se instala la aplicación. Después de que se haya ejecutado, esa pieza de código en particular no se debe volver a llamar, ni siquiera para una actualización.

  1. Compruebe si booleano X es verdadero en las preferencias compartidas
  2. Si no:
    a. Ejecuta el código especial
    segundo. Guardar x como verdadero en preferencias compartidas

Por ejemplo:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); if(!prefs.getBoolean("firstTime", false)) { // run your one time code SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean("firstTime", true); editor.commit(); } 

He usado una preferencia compartida en el pasado, pero si quieres hacer algo en Instalar también puedes mirar un receptor de instalación. MyInstallReciever implementa BroadcastReciever

      

usa este código simple

  if (getPreferences(MODE_PRIVATE).getBoolean("is_first_run", true)) { /* * your code here */ getPreferences(MODE_PRIVATE).edit().putBoolean("is_first_run", false).commit(); } 

Use un valor booleano para verificar si su primera ejecución de código es o no.

 SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = sharedpreferences.edit(); if(sharedpreferences.getBoolean("is_first_exec",false)) { editor.putBoolean("is_first_exec",false); //your code here ... } 

El getBoolean() como cualquier otro método get de SharedPreference, toma un segundo parámetro predeterminado que devolverá null la primera vez (ya que no hay nada en el archivo SharedPreference). Por lo tanto, el código dentro del bloque if(){...} se ejecutará solo una vez.

Notas a pie de página: SharedPreferences