J'ai ce code dans mon AsyncTask:ProgressDialog se bloque lorsque vous essayez d'exécuter un service avec un AsyncTask
@Override
protected void onPreExecute() {
waitDialog = new ProgressDialog(context);
waitDialog.setTitle(R.string.wait_title);
waitDialog.setMessage(context.getString(R.string.wait_body));
waitDialog.setIndeterminate(true);
waitDialog.show();
}
@Override
protected Boolean doInBackground(Void... unused) {
Intent serviceIntent = new Intent(context, PublisherService.class);
saveSettings(false);
startService(serviceIntent);
return serviceIsRunning();
}
montre la fenêtre, mais alors que mon service démarre (et il prend quelques secondes), le ProgressDialog est gelé . Si j'utilise un SystemClock.sleep()
simple dans mon appel doInBackground()
cela fonctionne très bien. Est-ce que quelqu'un peut me dire pourquoi cela se produit et comment résoudre le problème?
Merci
Pourriez-vous expliquer pourquoi on ne devrait pas démarrer un service à partir d'une asyncTask? Intéressé de comprendre pourquoi. – Spinner