StatusLine à zero dans un Service arrière plan
Résolu/Fermé
Joker_
Messages postés
172
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
20 janvier 2023
-
Modifié le 15 oct. 2018 à 03:33
Joker_ Messages postés 172 Date d'inscription mardi 13 octobre 2009 Statut Membre Dernière intervention 20 janvier 2023 - 19 oct. 2018 à 03:59
Joker_ Messages postés 172 Date d'inscription mardi 13 octobre 2009 Statut Membre Dernière intervention 20 janvier 2023 - 19 oct. 2018 à 03:59
A voir également:
- StatusLine à zero dans un Service arrière plan
- Remettre a zero un pc - Guide
- Arrière plan - Guide
- Flouter arrière-plan appel vidéo whatsapp android - Guide
- Youtube en arrière plan - Guide
- Arriere plan pc - Guide
5 réponses
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 909
15 oct. 2018 à 10:08
15 oct. 2018 à 10:08
Hello,
Plus d'infos ici : https://developer.android.com/guide/components/services
Plus d'infos ici : https://developer.android.com/guide/components/services
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 909
16 oct. 2018 à 11:36
16 oct. 2018 à 11:36
Lorsque je ferme l'application, le toast affiche:Est-ce que tu ne feras pas un
Service was created...puis...Service started...puis (chaque 10 s)...StatusLine 0... la base de donnée est non m.à.j
stopService()quelque part ?
Joker_
Messages postés
172
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
20 janvier 2023
1
16 oct. 2018 à 12:45
16 oct. 2018 à 12:45
Non BunoC.
Joker_
Messages postés
172
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
20 janvier 2023
1
18 oct. 2018 à 00:35
18 oct. 2018 à 00:35
J'ai beaucoup chercher dans les forums pour comprendre mon problème!! J'ai trouvé qu'il faut mieux executer les taches de HttpClient dans un autre thread, il faut utiliser AsyncTask alors j'ai appelé AsyncTask à partir de mon service
le code de ma classe MyAsync:
mais le problème persiste encore: si l'application fermée le HttpClient ne peut pas accéder au site et avec le lancement d'une exception : android.os.NetworkOnMainThreadException
public void initializeTimerTask() { timerTask = new TimerTask() { public void run() { handler.post(new Runnable() { public void run() { MyAsync myTask = new MyAsync(getApplicationContext()); myTask.execute("http://rawabiserv.000webhostapp.com/mysql_query_test.php"); } }); } }; }
le code de ma classe MyAsync:
public class MyAsync extends AsyncTask { private Context mContext; Timer timer; TimerTask timerTask; final Handler handler = new Handler(); public void startTimer() { timer = new Timer(); initializeTimerTask(); timer.schedule(timerTask, 5000, 10000); } public void stoptimertask(View v) { if (timer != null) { timer.cancel(); timer = null; } } public void initializeTimerTask() { timerTask = new TimerTask() { public void run() { handler.post(new Runnable() { public void run() { HttpClient client = new DefaultHttpClient(); String url="http://rawabiserv.000webhostapp.com/mysql_query_test.php"; HttpPost httpPost = new HttpPost(url); int code=-1; try { HttpResponse response = client.execute(httpPost); StatusLine statusLine = response.getStatusLine(); code=statusLine.getStatusCode(); }//fin try catch(Exception e){ int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(mContext, "Exception:"+e.toString(), duration); toast.show(); }//fin catch int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(mContext, "StatusLine:"+Integer.toString(code), duration); toast.show(); } }); } }; } public MyAsync(Context context) { mContext = context.getApplicationContext(); } @Override protected Object doInBackground(Object[] objects) { startTimer(); return null; } @Override protected void onPreExecute() { } protected Integer doInBackground(String... params) { startTimer(); return 1; } protected void onPostExecute(Integer integer) { //Print the response code as toast popup Toast.makeText(mContext, "Response code: " + integer, Toast.LENGTH_LONG).show(); } }
mais le problème persiste encore: si l'application fermée le HttpClient ne peut pas accéder au site et avec le lancement d'une exception : android.os.NetworkOnMainThreadException
Joker_
Messages postés
172
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
20 janvier 2023
1
17 oct. 2018 à 21:53
17 oct. 2018 à 21:53
up
Joker_
Messages postés
172
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
20 janvier 2023
1
18 oct. 2018 à 23:35
18 oct. 2018 à 23:35
up
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Joker_
Messages postés
172
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
20 janvier 2023
1
Modifié le 19 oct. 2018 à 03:59
Modifié le 19 oct. 2018 à 03:59
C'est résolut: j'ai ajouté ces deux lignes avant que je manipule leHttpClient
StrictMode.ThreadPolicy threadPolicy=new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(threadPolicy);
15 oct. 2018 à 19:46
16 oct. 2018 à 03:53