Bonjour,
Cela fait quelques jours que je tente de creer un bout de code qui va envoyer un SMS à intervalle régulier (ex: 1 SMS toute les minutes pendant 5min). Le soucis c'est que quelque soit la méthode utilisée, mes SMS sont reçu tous en même temps par le destinataire... (dans mon exemple le destinataire reçoit 5 SMS d'un seul coup au bout de 5min...).
J'ai testé avec une activity qui lance un service qui lance un timer chargé d'envoyer un SMS toute les minutes sans succès
J'ai aussi testé avec une AsyncTask comme ceci, mais avec le même résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 timer.scheduleAtFixedRate(new TimerTask() { @SuppressWarnings("deprecation") public void run() { if(cpt > fin) { Log.v("PRINT","FIN : "+cpt+" "+ fin); stopSelf(); } else { Log.v("PRINT","SMS"); SmsManager.getDefault().sendTextMessage(numero, null, MSG, null, null); } }, 0, frequence);
A noter que les Log.v() s'affichent bien aux bons moments (toutes les minutes dans mon exemple).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 protected Void doInBackground(String... params) { .... for(int i = 0 ; i < fin ; i++) { SmsManager.getDefault().sendTextMessage(tel, null, "koukou", null, null); Log.v("PRINT","SMS!!!"); try{Thread.sleep(frequence);}catch(Exception e){} } }
Quelqu'un aurait une idée d'où vient mon problème ? Je soupçonne un problème de thread mais android est encore un peu obscur
Merci d'avance
Partager