Cree una función que se active sólo una vez después de instalar la aplicación en el teléfono

Estoy desarrollando una aplicación para móviles con ApacheCordova / Phonegap. Necesito una función que me envíe un SMS una vez por instalación. Si pongo mi función en "DeviceReady", se ejecutará cada vez que se abra la aplicación. ¿Hay alguna solución para que una función se ejecute cuando se instale la aplicación O cuando se ejecute por primera vez?

Cualquier sugerencia sería apreciada.

He agregado un campo a la localstorage y en el inicio apenas compruebo si ese campo existe. Así que algo como esto:

if (window.localStorage.getItem("installed") == undefined) { /* run function */ window.localStorage.setItem("installed", true); } 

Edit: La razón por la que prefiero esto sobre los otros métodos es que esto funciona en iOS, WP, etc, así, y no sólo en android

Compruebe si es la primera vez con un método y, a continuación, realice la acción si ese método determina que es la primera vez.

Ex:

Método isFirstTime ()

 private boolean isFirstTime() { SharedPreferences preferences = getPreferences(MODE_PRIVATE); boolean ranBefore = preferences.getBoolean("RanBefore", false); if (!ranBefore) { SharedPreferences.Editor editor = preferences.edit(); editor.putBoolean("RanBefore", true); editor.commit(); // Send the SMS } return ranBefore; } 

Es posible que desee añadirlo a su onCreate()

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); topLevelLayout = findViewById(R.id.top_layout); if (isFirstTime()) { topLevelLayout.setVisibility(View.INVISIBLE); } 

Esto debe ser lo que u están buscando:

 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(); } 

Utilice algún valor booleano si su verdadero no llaman a esa función otra llamada sabia que el ejemplo de la función está aquí

 if(smssent!=true) { //call sms sending method } else { //just leave blank or else notify user using some toast message } 

Nota: -el almacén de valores booleano en alguna base de datos como sharedprefernce o sqllite, archivos ….

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.