Aller au contenu

Boite de dialogue affichée une seule fois au lancement de l'application


emulienfou

Recommended Posts

Bonjour,

je viens de créer une boite de dialogue qui me permet d'afficher les termes d'utilisation au lancement de mon application, et l'utilisateur doit sélectionner "J'accepte" ou "Je refuse".

Jusque l'a tout va bien !!

Maintenant ce dont je voudrais savoir car je n'ai pas trouvé de réponse, c'est comment faire pour :

  1. Quitter l'application si l'utilisateur sélectionne "Je refuse" ?
  2. Et Si l'utilisateur sélectionne "J'accepte" alors la boite de dialogue ne se raffiche plus jamais (enregistrement de l'action ou de l'état) ?)

Merci bien !!

Lien vers le commentaire
Partager sur d’autres sites

1) Alors pour quitter l'application il existe une méthode que tu peut implémenter dans les activités qui s'appelle "finish();"

2) Là tu vas devoir jouer sur les SharedPreferences, en gros tu vas devoir stocker une variable dans la mémoire du téléphone.

C'est très simple je te renvoie à l'exemple de google: http://developer.android.com/guide/topics/data/data-storage.html

En gros au lancement tu vas essayer de récupérer un boolean :

       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      boolean termes = settings.getBoolean("termes", false);

Si elle n'existe pas (ce qui sera le cas au premier lancement) sa valeur par défaut sera false (c'est le deuxième paramètre). Donc quand ta personne acceptera la les termes de service tu mettra cette variable à true (par contre il te faudra un petit test à chaque fois au début pour vérifier si la personne à accepter ou pas).

     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
    SharedPreferences.Editor editor = settings.edit();
    editor.putBoolean("termes", true);
    editor.commit();

Lien vers le commentaire
Partager sur d’autres sites

Ben je ne peut pas te confirmer tout de suite. Mais le default doit être unique et n'a pas besoin du premier paramètre. Alors que l'autre est fait si tu veut créer plusieurs types préférences avec des noms différents. Si tu veut faire qu'un seul truc prend le default.

Lien vers le commentaire
Partager sur d’autres sites

Cela fonctionne bien avec la méthode getDefaultSharedPreferences().

Cependant, j'ai un problème avec ma méthode finish() qui ne se trouve pas dans la même classe que mon fichier principal.

Ma classe principale de l'application se nomme PulsDroid donc dans le constructeur de ma classe contenant la boite de dialogue, j'ai essayé de créer un objet de ma classe PulsDroid nommé pulsDroid, ce qui m'a permit de faire : pulsDroid.finish(); mais cela ne fonctionne pas et ne qui pas mon application.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...