Ho due attività e desidero passare da una all'altra senza ricrearle o duplicarle. Ogni attività ha un pulsante che invierà l'utente all'altro utilizzando un intento con FLAG_ACTIVITY_REORDER_TO_TOP.FLAG_ACTIVITY_REORDER_TO_TOP che causa RuntimeException o schermo nero a rotazione
Questa grande opera, tranne per la seguente condizione:
- avviare l'applicazione fresca dopo una forza vicino
- premere il pulsante per andare all'attività 2
- premere il pulsante per tornare all'attività 1
- ruota lo schermo.
A questo punto, l'app si arresta in modo anomalo con "Esecuzione dell'arresto dell'attività non ripristinata". Lollipop mostra solo uno schermo nero.
Stranamente, se si passa alla schermata iniziale prima del passaggio 4 e si riprende l'app e quindi si ruota la condizione precedente non si verificano problemi e l'app funziona correttamente finché non viene chiusa/riavviata.
Questa condizione sembra specifica per FLAG_ACTIVITY_REORDER_TO_TOP e si verifica su Android 5.0 e 4.4 e solo su un nuovo inizio.
Non ho attributi sulle attività nel manifest. I layout appena hanno un pulsante che chiama un metodo che assomiglia a questo:
MainActivity:
public void goSecond(View v) {
Intent i = new Intent(this, SecondActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
}
SecondActivity:
public void goFirst(View v) {
Intent i = new Intent(this, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
}
Io non sono l'override altri metodi del ciclo di vita o di fare qualsiasi altra cosa.
Qualche idea?