Problème de notifications

  • Auteur de la discussion 911
  • Date de début
9

911

Membre
Inscrit
2 Janvier 2013
Messages
19
Points
0
  • #1
Bonsoir. :D

Dans le cadre de mes études, chaque élève doit développer une application de son choix en JAVA ou une application Android.

Pour ma part, j'ai choisi de développer une application Android qui utilisera la google map API V1 (ça fait déjà plusieurs mois que je bosse dessus et j'arrive bientôt au terme de l'application donc je ne pense pas faire la migration vers la V2).

Objectif de mon application : recenser l'ensemble des organismes éducatifs dans le monde. :cool:

De ce fait, je possède une base de données MySQL qui me permet de mémoriser l'intitulé de l'organisme, sa latitude ainsi que sa longitude.

Mon application récupère l'ensemble de ses informations au format JSON et affiche des marqueurs sur ma map. Mais, je voudrais encore améliorer mon application et y rajouter une pointe de complexité. Ainsi, j'ai entrepris d'alerter chaque utilisateur, au travers de notifications, lorsqu'il se trouve dans un rayon de 3km (AddProximityAlert) d'un organisme éducatif. J'ai donc créé un service possédant un thread qui se lance sur OnLocationChanged. A savoir que j'ai quand même besoin d'accéder à ma base de données via mon thread dans le but de récupérer d'éventuels nouveaux organismes éducatifs ajoutés entre-temps par un autre utilisateur. (Et oui, un utilisateur quelconque peut également ajouter un organisme éducatif sur la map qui sera ensuite disponible pour l'ensemble de la communauté).

Mon problème : l'application envoie à de multiples reprises la même notification à un utilisateur et ce, dans un délai très court (entre 10 et 30 secondes plus tard). Je souhaiterai envoyer une notification correspondant à un organisme éducatif seulement une fois par utilisateur. Or je n'y parviens, j'ai tenté de sauvegarder l'ensemble des ID associés aux centres éducatifs des notifications déjà envoyés. Malgré cela, je ne parviens pas à stopper l'envoi multiple d'une même notification car j'ai l'impression que mon service se redémarre et donc que mes ID, précédemment enregistrés, sont effacés.


C'est un projet que je dois rendre le 15 janvier donc j'ai un peu (beaucoup) la pression.

Quelqu'un aurait-il une solution? N'hésitez pas à me demander pour d'éventuelles précisions ou éclaircissements.

Merci par avance et bonne année :D
 
Lucas

Lucas

Membre VIP
Inscrit
22 Avril 2012
Messages
10 685
Points
38
  • #2
Salut
Je ne sais pas si tu auras une réponse ici :/
Mais tu peux essayer d'envoyer un message à une personne du forum au rang de developpeur wink
 
9

911

Membre
Inscrit
2 Janvier 2013
Messages
19
Points
0
  • #3
Bonjour. J'ai tenté de contacter d'autres membres du forum mais voilà le message que je reçois:
"Nous sommes désolés, mais vous n’êtes pas autorisé à utiliser cette fonctionnalité. Vous venez juste de vous inscrire, et il vous est nécessaire de participer plus pour utiliser cette fonctionnalité."

Le temps manque pour finaliser mon projet. Comment pourrais-je les contacter?

Merci :)
 
Lucas

Lucas

Membre VIP
Inscrit
22 Avril 2012
Messages
10 685
Points
38
  • #4
Post 15 messages et tu pourras les contacter
 
A

Anonymous

  • #5
Plus que 13 :lol:
 
Adrian DC

Adrian DC

Membre
Inscrit
14 Mars 2012
Messages
849
Points
36
  • #6
Salut !

J'ai lu attentivement ce que tu as expliqué, et je pense pouvoir te répondre sur un point :

Ayant envisagé le tracé de l'activation du GPS pour mon appli Android Logs, je suis quasi certain
que tu utilises le gestionnaire LocationListener pour obtenir son événement onLocationChanged / Updates.. Non ? :D

J'ai souvenir d'avoir lu quelque chose sur ça, et normalement, le constructeur ou la méthode
d'appel de cette fonctionnalité demande une distance minimum pour générer une nouvelle notification GPS,
qui, si elle est à 0m, crée des notifications non-stop, et également un temps minimum de répétition...

Vérifie que ces deux variables ont des valeurs raisonnables, genre 500m ou 1000m pour que ce soit raisonnable.


Sinon ce que je ferai, et compte d'ailleurs faire pour mon appli, c'est d'enregistrer dans les SharedPreferences
la date de la dernière notification qui a été émise pour la comparer la fois suivante avec la date actuelle.

Soit du la récupère littéralement, exemple ma fonction :
Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!
soit tu fais pareil mais avec le temps en secondes écoulées depuis le 1er janvier 1970 et soustrait simplement...

Si le dernier était il y a moins d'une heure (3600 secondes), l'event est ignoré..


J'espère que ça t'as aidé.

@+
 
9

911

Membre
Inscrit
2 Janvier 2013
Messages
19
Points
0
  • #7
Merci de l'attention porté à mon bug. ;)
Actuellement, je suis en cours mais je teste ça ce soir :cool:
Merci, je te tiens au courant dès que j'ai testé :D
 
9

911

Membre
Inscrit
2 Janvier 2013
Messages
19
Points
0
  • #8
Bonjour Adrian DC :)

J'ai tenté d'utiliser les SharedPreferences pour mémoriser l'heure d'envoi de la dernière notification mais ça ne fonctionne toujours pas. J'ai toujours le même problème, l'heure d'envoi est mémorisé mais au bout de quelques minutes, on dirait que c'est réinitialisé. Je ne parviens à cerner l'origine de ce problème :x
J'ai également tenté d'enregistrer l'ID de mes notifications dans les sharedPreferences afin d'éviter d'envoyer deux fois la même notification mais j'ai exactement le même problème que j'ai cité au-dessus :x

Est-ce que tu saurais d'où peut provenir un tel bug?

Merci par avance :D
 
Adrian DC

Adrian DC

Membre
Inscrit
14 Mars 2012
Messages
849
Points
36
  • #9
Tu as vérifié ce que j'ai dis sur les LocationListener et les paramètres qu'il faut lui donner ?
 
9

911

Membre
Inscrit
2 Janvier 2013
Messages
19
Points
0
  • #10
Bonsoir Adrian DC :D

Oui j'ai bien vérifié la distance minimum que j'ai fixé. Ce paramètre est correctement respecté.
En revanche, je n'ai pu localiser le paramètre correspondant au temps minimum de répétition.
J'ai même l'impression qu'il n'y a pas de paramètre de ce type au sein de ma procédure.
A savoir, j'utilise une méthode AddProximityAlert, saurais-tu me dire, au travers d'un exemple, où je dois définir ce paramètre?


Merci Adrian DC :cool:
 
Adrian DC

Adrian DC

Membre
Inscrit
14 Mars 2012
Messages
849
Points
36
  • #11
À force que tu le répètes je vais bientôt connaitre mon pseudo c'est bien :p :D.

Avec autant de détail je ne sais pas, je n'ai jamais utilisé entièrement cette fonction,
je l'ajouterai peut-être à mon application un jour mais pas tout de suite...

Tiens si ça peut t'aider ?
>
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

>
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !


@+ !
 
Haut Bas