Lorsque l’on porte une application qui accédait à internet en version inférieure à 4, on obtient le message d’erreur : android.os.NetworkOnMainThreadException
Pour corriger cela soit :
please add these line : StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
after setContentView(R.layout.someThing); Soit : On exécute dans un service l'appel à Internet : * On place à l'endroit où l'appel au WebService était : new MyTask().execute(); * Puis :
private class MyTask extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void… params) {
...................
}
@Override
protected void onPostExecute(Void result) {
…………………………
super.onPostExecute(result);
}
}
Ou alors, on "rétrograde" le projet en 2.2 ou toute version inférieure à 4 !
Votre commentaire