2010-10-18 8 views
1

Je voudrais savoir si et comment il est possible de détecter si mon application a fonctionné dans le passé sur un appareil Android donné. Je voudrais chaque fois que le téléphone redémarre pour être en mesure de vérifier si mon application a fonctionné sur le passé et récupérer des données privées. Si ce n'est pas simplement créer ces données.android Comment détecter si l'application a fonctionné dans le passé

Répondre

3

Vous pouvez stocker une valeur simple dans le SharedPreference de l'application.

insérer ce dernier dans votre onCreate() dans votre activité principale

SharedPreferences shared = getSharedPreferences("config", 0); 


if (shared.getBoolean("hasRunBefore", false)) 
{ 
// have run before. 
} 
else 
{ 
SharedPreferences.Editor editor = shared.edit(); 
editor.putBoolean("hasRunBefore", true); 
editor.commit(); 
// have not run before 
} 
0

Vérifiez si ces données existent? Ou mettez quelque chose dans le PreferenceManager par défaut de votre application.

0

Vous économiseriez tout en utilisant SharedPreferences. Cela créera un fichier lisible par votre application qui sera créé lors de la première écriture.

Voir les éléments suivants:

1

Comme d'autres l'ont dit, la meilleure façon de lire et d'écrire cette information est dans les SharedPreferences. Cependant, vous avez dit que vous voulez faire cela chaque fois que le téléphone redémarre. La façon de procéder est d'implémenter un BroadcastReceiver et de vous inscrire pour recevoir le message ACTION_BOOT_COMPLETED, et assurez-vous d'ajouter une permission à votre manifeste pour RECEIVE_BOOT_COMPLETED.

http://developer.android.com/guide/appendix/faq/commontasks.html#broadcastreceivers http://developer.android.com/reference/android/content/Intent.html#ACTION_BOOT_COMPLETED http://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED

Questions connexes