Je viens de publier ma première application Google Marketplace et a reçu l'information, que l'application est écrasé - je suis arrivé deux stacktraces, l'un d'entre eux par exemple:Android: deux erreurs parfois seulement/sur certains appareils
android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running?
at android.view.ViewRoot.setView(ViewRoot.java:468)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.view.Window$LocalWindowManager.addView(Window.java:424)
at android.app.Dialog.show(Dialog.java:239)
at abc.de.f.MyTask.onPreExecute(MyTask.java:52)
Il n'y a qu'une seule possibilité d'accéder à la méthode onPreExecute() dans MyTask - et ça ne plante pas dans l'émulateur ou sur mon périphérique physique. Mais il semble parfois s'écraser "dans la nature".
Quels seraient vos premiers pas pour arriver à la raison?
Merci beaucoup,
Stefan
EDIT:
@Override
protected void onPreExecute() {
this.dialog.setMessage(((Activity) listener).getString(R.string.daten_werden_geladen));
this.dialog.show();
}
this.dialog.setMessage fonctionne, mais show() ne ... :(
Salut Varun, merci beaucoup pour votre réponse, je vais essayer. Mais avez-vous une idée de pourquoi ça ne semble que s'écraser parfois? Comme je suis triste, il n'y a qu'une seule possibilité d'y arriver; et il y a beaucoup de testeurs là-bas et ça fonctionne toujours; néanmoins j'ai eu le message d'erreur avec la trace de la pile ... – swalkner
Si vous établissez une connexion http à partir de la tâche, et il est possible que parfois il faut plus de temps pour établir la connexion. De plus, si vous détenez une référence à un objet contextuel dans la tâche, vous pouvez essayer de le mettre à jour avec le contexte actuel. – Varun
mais l'erreur se produit dans la méthode onPreExecute, la connexion HTTP est établie plus tard: dans doInBackground ... :( – swalkner