Come da titolo, come diavolo si gestisce la rotazione dello schermo se nell'activity c'è un AsyncTask in esecuzione?
Il codice della mia activity al momento è il seguente:
Ho aggiunto la getLastNonConfigurationInstance() e onRetainNonConfigurationInstance() che dovrebbero servire a passare un oggetto da una activity che si sta distruggendo alla successiva che viene creata, ed in effetti dopo la rotazione quando la nuova activity passa dall'onCreate(), l'AsyncTask viene correttamente recuperato e ho potuto verificare che prosegue tranquillamente il lavoro.
Quello che non succede, e qui sta il problema, è che dopo che l'activity viene ricreata, l'AsyncTask quando chiama la sua onPostExecute() non invoca il metodo dell'activity padre, ho come l'impressione che sia ancora legato alla vecchia activity e pertanto l'activity resta sempre in attesa del termine del task!!!
Da notare che se ruoto di nuovo e il task è completato, ho aggiunto nella onCreate un if per verificare lo stato del task e se è già FINISHED, allora recupero il risultato direttamente dall'istanza dell'AsyncTask (altrimenti restava in attesa di una chiamata che ormai il task non farà più).
Qualche idea, suggerimento, consiglio su cosa fare per risolvere?
Grazie