Quando un'app si avvia o riprende, desidero reindirizzare l'utente a una specifica "Attività" in base a una variabile impostata in "Proprietà condivise".Avviare l'app per Android con attività specifica
Per fare questo ho stava prendendo in considerazione avere un metodo che verifica la presenza variabile di stato SharedPreferences e reindirizza all'attività corretta:
private void launchRedirect(Context ctxt) {
Integer status = AppPreferences.getStatus(this);
Intent i = new Intent(MainActivity.this, Activity1.class);
switch (status) {
case 0:
i = new Intent(MainActivity.this, Activity2.class);
case 1:
i = new Intent(MainActivity.this, Activity3.class);
case 2:
i = new Intent(MainActivity.this, Activity4.class);
case 3:
i = new Intent(MainActivity.this, Activity5.class);
}
startActivity(i);
}
E poi ho potuto chiamare questo metodo in ogni metodo 'onResume' per ogni attività in la mia app:
public void onResume(Bundle savedInstanceState) {
launchRedirect(this);
}
Ciò significa che l'utente non possa tecnicamente tornare l'ultima attività, perché quando lo chiamano, chiama onResume, e sarà reindirizzato allo stato che corrisponde con l'utente corrente.
Suppongo che questo potrebbe portare ad alcuni bug circolari però - c'è un modo migliore per farlo?
Buona domanda quindi +1 –